Skip to content

Conversation

@jishnub
Copy link
Member

@jishnub jishnub commented Aug 2, 2024

Currently, eigen for a complex Symmetric matrix fails, as there's no specialized LAPACK function to handle such matrices. We may instead materialize the matrix and use a generic solver. While a user may do it by themselves, I think returning an answer is better than throwing an error.

@jishnub jishnub added the linear algebra Linear algebra label Aug 2, 2024
@dkarrasch
Copy link
Member

Hm, yeah, BunchKaufman seems to rely on the same mechanism as eigen, but can handle complex symmetric. You could introduce

bkcopy_oftype(A, S) = eigencopy_oftype(A, S)
bkcopy_oftype(A::Symmetric{<:Complex}, S) = Symmetric(copytrito!(similar(parent(A), S, size(A)), A.data, A.uplo), sym_uplo(A.uplo))

and switch to it in bunchkaufman.jl.

@jishnub jishnub merged commit 065d456 into master Aug 4, 2024
@jishnub jishnub deleted the jishnub/symmtric_complex_eigen branch August 4, 2024 12:30
lazarusA pushed a commit to lazarusA/julia that referenced this pull request Aug 17, 2024
Currently, `eigen` for a complex Symmetric matrix fails, as there's no
specialized LAPACK function to handle such matrices. We may instead
materialize the matrix and use a generic solver. While a user may do it
by themselves, I think returning an answer is better than throwing an
error.
@dkarrasch dkarrasch added backport 1.10 Change should be backported to the 1.10 release backport 1.11 Change should be backported to release-1.11 labels Dec 22, 2024
This was referenced Jan 2, 2025
This was referenced Jan 28, 2025
This was referenced Mar 11, 2025
@KristofferC KristofferC removed the backport 1.11 Change should be backported to release-1.11 label Mar 31, 2025
KristofferC added a commit that referenced this pull request Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 1.10 Change should be backported to the 1.10 release linear algebra Linear algebra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants