
How to get an pointed eigenvector?
Have tried this way:
Dim mtrx As New Meta.Numerics.Matrices.SymmetricMatrix(3)
mtrx.Item(0, 0) = "1"
mtrx.Item(1, 0) = "0.64"
mtrx.Item(2, 0) = "0.89"
mtrx.Item(0, 1) = "0.64"
mtrx.Item(1, 1) = "1"
mtrx.Item(2, 1) = "0.97"
mtrx.Item(0, 2) = "0.89"
mtrx.Item(1, 2) = "0.97"
mtrx.Item(2, 3) = "1"
Dim Lambda(3) As Double
'mtrx.Eigenvalues()
Lambda(0) = mtrx.Eigenvalues.GetValue(0)
'Lambda(0) = mtrx.Eigenvalues.ElementAt(0)
'Lambda(1) = mtrx.Eigenvalues.ElementAt(1)
'Lambda(2) = mtrx.Eigenvalues.ElementAt(2)
MsgBox(Lambda(0) & vbLf & Lambda(1) & vbLf & Lambda(2))



Sorry, I don't undertsand; what makes an eigenvector "pointed"? From your code, it looks like you are not dealing with eigenvectors at all, but rather constructing a an array of eigenvalues. Since SymmetricMatrix.Eigenvalues()
already returns an array, you can just write lambda = mtrx.Eigenvalues() without having to accessandcopy each element.
By the way, you also don't need to set the elements of your symmetric matrix that are already determined by the transpose element. For example, if you set mtrx(2,0) = 0.89, then mtrx(0,2) is already determined.

