-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
broken eig functions for Diagonal{Matrix} #594
Comments
To clarify what is the general problem here, in your example B = [2.0*I2 0I;
0I 3.0*I2]
eigen(B) ? |
Yes, because we can also view it as a matrix over the scalar field (acting on blocked vectors of scalars). |
Ok, I'm going to attempt this. For julia> begin
I2 = Matrix(I, 2,2)
a = Matrix{Matrix{Float64}}(undef, 2,2)
for i ∈ 1:2, j ∈ 1:2
a[i,j] = (i+2j)I2
end
b = [a[1,1] a[1,2];
a[2,1] a[2,2]]
end
4×4 Array{Float64,2}:
3.0 0.0 5.0 0.0
0.0 3.0 0.0 5.0
4.0 0.0 6.0 0.0
0.0 4.0 0.0 6.0
julia> a
2×2 Array{Array{Float64,2},2}:
[3.0 0.0; 0.0 3.0] [5.0 0.0; 0.0 5.0]
[4.0 0.0; 0.0 4.0] [6.0 0.0; 0.0 6.0] do we want |
It seems like the eigenvectors should be "block" vectors (i.e. vectors of vectors). |
@stevengj what i understand from your bug is that since the diagonal matrix in your example consists of two matrix so what you want is whenever we get matrix of matrices we should output the array consisting of the eigen vectors of those matrices. So you want the output like 1.0 0.0 that is the two vectors that is the eigen vector of each matrix inside that of diagonal matrix. @stevengj can you please conform whether I am interpreting the bug correctly or not. thanks |
@stevengj , I have submitted a PR, could you please review it |
Bug noted in JuliaLang/julia#21598, filing a separate issue so that it doesn't get lost.
Should be quite easy to fix.
The text was updated successfully, but these errors were encountered: