正方行列の固有値と固有ベクトルです。R の eigen() と同等です。
eigen()
対称行列では三重対角化と陰的 QL 法を使います。そのほかの行列では、LAPACK の dgebal と同じ方法で平衡化した後に、Hessenberg 化と Francis の二重シフト QR 法を使います。R は LAPACK を使うため、固有値は丸めの範囲で一致しますが、固有ベクトルの符号は R と異なることがあります (どちらも正しい値です)。重複する固有値では、基底が異なることがあります。複素数の固有値と固有ベクトルは、実部と虚部を別々に返します (valuesIm、vectorsIm)。各複素固有ベクトルは、最大の成分が実数で正になるように、長さ 1 に尺度化されます。NaN または無限大の値があると例外を投げます。
dgebal
valuesIm
vectorsIm
NaN
正方行列です (行の配列です)。
EigenOptions を参照してください。
固有値と固有ベクトルです。EigenResult を参照してください。
const e = eigen([[2, 1], [1, 2]]);e.values; // [3, 1]e.vectors; // [[0.7071, 0.7071], [0.7071, -0.7071]] (signs may differ from R)eigen([[0, -1], [1, 0]]); // { values: [0, 0], valuesIm: [1, -1] } コピー
const e = eigen([[2, 1], [1, 2]]);e.values; // [3, 1]e.vectors; // [[0.7071, 0.7071], [0.7071, -0.7071]] (signs may differ from R)eigen([[0, -1], [1, 0]]); // { values: [0, 0], valuesIm: [1, -1] }
正方行列の固有値と固有ベクトルです。R の
eigen()と同等です。対称行列では三重対角化と陰的 QL 法を使います。そのほかの行列では、LAPACK の
dgebalと同じ方法で平衡化した後に、Hessenberg 化と Francis の二重シフト QR 法を使います。R は LAPACK を使うため、固有値は丸めの範囲で一致しますが、固有ベクトルの符号は R と異なることがあります (どちらも正しい値です)。重複する固有値では、基底が異なることがあります。複素数の固有値と固有ベクトルは、実部と虚部を別々に返します (valuesIm、vectorsIm)。各複素固有ベクトルは、最大の成分が実数で正になるように、長さ 1 に尺度化されます。NaNまたは無限大の値があると例外を投げます。