Expand description
Symmetric eigendecomposition — closed-form 3×3 + general Jacobi (caller-owned). Symmetric eigendecomposition — the engine’s single home for eigenvalues of a symmetric matrix.
Before this, the same math lived in two silos: specialized_libs/linear_algebra
had a cyclic-Jacobi eigen_symmetric, and specialized_libs/engineering_analysis
had a closed-form 3×3 principal-stress solver — two implementations of one
operation. Both now route here.
Two entry points, same modality:
- [
symmetric_eigen_3x3] — closed-form (Smith’s algorithm) for the symmetric 3×3 case; zero-heap, no iteration, eigenvalues sorted descending. - [
symmetric_eigen] — cyclic-Jacobi for generaln×n; in-place on a caller-owned buffer, also yields eigenvectors. Zero-heap.
Functions§
- symmetric_
eigen - Eigendecomposition of a symmetric
n×nmatrix by cyclic Jacobi rotations. - symmetric_
eigen_ 3x3 - Eigenvalues of a symmetric 3×3 matrix
a(row-major, length 9) by Smith’s closed-form algorithm — no iteration, no allocation. Returns the three eigenvalues sorted descending (e[0] ≥ e[1] ≥ e[2]), the convention used for principal stresses/strains.