fullseye

mat_eigh — MATH linalg op

使い方

Eigen-decomposition of a symmetric matrix (LAPACK syevd).

Returns (w, V): eigenvalues w in ascending order (all real — guaranteed by symmetry) and orthonormal eigenvectors as the columns of V (A @ V[:, i] == w[i] * V[:, i]).

Symmetric input only, verified: max|A - A.T| above 1e-10 of the matrix scale raises ValueError. This is deliberate fail-closing of two traps at once — a symmetric solver fed a non-symmetric matrix silently reads one triangle and returns a plausible wrong answer, and a general matrix has complex eigenvalues this real-valued API cannot even represent. For a covariance / Hessian / Gram matrix (the metrology cases) symmetry holds by construction; symmetrise explicitly ((A + A.T) / 2) if yours is symmetric-up-to-noise.

Sign trap (honest): each eigenvector is defined only up to sign, and eigenvectors of a repeated eigenvalue only up to rotation in that subspace. Compare |v·w| or subspaces, never raw columns.

HALCON: eigenvalues_symmetric_matrix.

ファミリ共通の入力契約(fail-closed)

mathops の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

同カテゴリ(linalg)

mat_solve · mat_lstsq · mat_svd · mat_pinv · mat_cond


Provenance: mathops.py — MATH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.