Skip to content

Commit

Permalink
Remove eigvecs
Browse files Browse the repository at this point in the history
The easiest implementation would just be a wrapper around `eigen`, and
this should await some more experiments with the eigenvector gauge
fixing.
  • Loading branch information
lkdvos committed Jun 11, 2024
1 parent f1b6d41 commit 4267178
Showing 1 changed file with 0 additions and 22 deletions.
22 changes: 0 additions & 22 deletions src/tensors/factorizations.jl
Original file line number Diff line number Diff line change
Expand Up @@ -190,28 +190,6 @@ function LinearAlgebra.eigvals!(t::TrivialTensorMap; kwargs...)
return LinearAlgebra.eigvals!(t.data; kwargs...)
end

function LinearAlgebra.eigvecs(t::AbstractTensorMap; kwargs...)
InnerProductStyle(t) === EuclideanProduct() || throw_invalid_innerproduct(:eigvecs)
domain(t) == codomain(t) ||
throw(SpaceMismatch("`eigvecs` requires domain and codomain to be the same"))
S = spacetype(t)
I = sectortype(t)
A = storagetype(t)
Vdata = SectorDict{I,A}()
dims = SectorDict{I,Int}()
for (c, b) in blocks(t)
vectors = LinearAlgebra.eigvecs(b; kwargs...)
Vdata[c] = vectors
dims[c] = size(vectors, 2)
end
if length(domain(t)) == 1
W = domain(t)[1]
else
W = S(dims)
end
return TensorMap(Vdata, domain(t) W)
end

"""
eig(t::AbstractTensor, (leftind, rightind)::Index2Tuple; kwargs...) -> D, V
Expand Down

0 comments on commit 4267178

Please sign in to comment.