ERROR: type Tuple has no field values

I’m trying to simulate a projection measurement of quantum system, here is the code involving error

‘’’

Calculate eigenvalues and eigenvectors

eigen = eigs(X1.data)
eigenvalues = eigen.values
eigenvectors = eigen.vectors
‘’’

X1 is a four-mode operator, the error happens at the “eigenvalues=eigen.values”, and here is the error message:

ERROR: type Tuple has no field values
Stacktrace:
[1] getproperty(x::Tuple{Vector{ComplexF64}, Matrix{ComplexF64}, Int64, Int64, Int64, Vector{ComplexF64}}, f::Symbol)

I don’t understand what caused this error and how could I fix this?

Which package is eigs coming from and is its docstring saying that you should extract eigenvalues with .values? My best guess is that you’re supposed to do

eigenvalues, eigenvectors = eigs(X1.data)
2 Likes

Oh! It works for now! Thank you so much! eigs is from Arpack, I was using LinearAlgebra, but it doesn’t allow me to, I guess that’s because the structure of my operator, and the error message suggest me to use eigs from Arpack so I use it.