Sub Ex_Dspev()
Const N = 3
Dim Ap(N * (N + 1) / 2) As Double, W(N - 1) As Double, Z(N - 1, N - 1) As Double
Dim Info As Long
Ap(0) = 2.2
Ap(1) = -0.11: Ap(3) = 2.93
Ap(2) = -0.32: Ap(4) = 0.81: Ap(5) = 2.37
Call
Dspev("V", "L", N, Ap(), W(), Z(), Info)
Debug.Print "Eigenvalues =", W(0), W(1), W(2)
Debug.Print "Eigenvectors ="
Debug.Print Z(0, 0), Z(0, 1), Z(0, 2)
Debug.Print Z(1, 0), Z(1, 1), Z(1, 2)
Debug.Print Z(2, 0), Z(2, 1), Z(2, 2)
Debug.Print "Info =", Info
End Sub
Sub Dspev(Jobz As String, Uplo As String, N As Long, Ap() As Double, W() As Double, Z() As Double, Info As Long)
(シンプルドライバ) 固有値・固有ベクトル (対称行列) (圧縮形式)