Skip to content

Commit 8c976fc

Browse files
committed
remove factorization deprecations
1 parent 753ca03 commit 8c976fc

File tree

2 files changed

+2
-140
lines changed

2 files changed

+2
-140
lines changed

src/auxiliary/deprecate.jl

Lines changed: 0 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -35,142 +35,4 @@ Base.@deprecate EuclideanProduct() EuclideanInnerProduct()
3535

3636
Base.@deprecate insertunit(P::ProductSpace, args...; kwargs...) insertleftunit(args...; kwargs...)
3737

38-
# factorizations
39-
# --------------
40-
_kindof(::MatrixAlgebraKit.LAPACK_HouseholderQR) = :qr
41-
_kindof(::MatrixAlgebraKit.LAPACK_HouseholderLQ) = :lq
42-
_kindof(::MatrixAlgebraKit.LAPACK_SVDAlgorithm) = :svd
43-
_kindof(::MatrixAlgebraKit.PolarViaSVD) = :polar
44-
_kindof(::DiagonalAlgorithm) = :svd # shouldn't really matter
45-
46-
_drop_alg(; alg=nothing, kwargs...) = kwargs
47-
_drop_p(; p=nothing, kwargs...) = kwargs
48-
49-
function permutedcopy_oftype(t::AbstractTensorMap, T::Type{<:Number}, p::Index2Tuple)
50-
return permute!(similar(t, T, permute(space(t), p)), t, p)
51-
end
52-
53-
# orthogonalization
54-
export leftorth, leftorth!, rightorth, rightorth!
55-
function leftorth(t::AbstractTensorMap, p::Index2Tuple; kwargs...)
56-
Base.depwarn("`leftorth` is deprecated, use `left_orth` instead", :leftorth)
57-
return leftorth!(permutedcopy_oftype(t, factorisation_scalartype(leftorth, t), p); kwargs...)
58-
end
59-
function rightorth(t::AbstractTensorMap, p::Index2Tuple; kwargs...)
60-
Base.depwarn("`rightorth` is deprecated, use `right_orth` instead", :rightorth)
61-
return rightorth!(permutedcopy_oftype(t, factorisation_scalartype(rightorth, t), p); kwargs...)
62-
end
63-
function leftorth(t::AbstractTensorMap; kwargs...)
64-
Base.depwarn("`leftorth` is deprecated, use `left_orth` instead", :leftorth)
65-
return leftorth!(copy_oftype(t, factorisation_scalartype(leftorth, t)); kwargs...)
66-
end
67-
function rightorth(t::AbstractTensorMap; kwargs...)
68-
Base.depwarn("`rightorth` is deprecated, use `right_orth` instead", :rightorth)
69-
return rightorth!(copy_oftype(t, factorisation_scalartype(rightorth, t)); kwargs...)
70-
end
71-
function leftorth!(t::AbstractTensorMap; kwargs...)
72-
Base.depwarn("`leftorth!` is deprecated, use `left_orth!` instead", :leftorth!)
73-
haskey(kwargs, :alg) || return left_orth!(t; kwargs...)
74-
alg = kwargs[:alg]
75-
kind = _kindof(alg)
76-
kind === :svd && return left_orth!(t; kind, alg_svd=alg, _drop_alg(; kwargs...)...)
77-
kind === :qr && return left_orth!(t; kind, alg_qr=alg, _drop_alg(; kwargs...)...)
78-
kind === :polar && return left_orth!(t; kind, alg_polar=alg, _drop_alg(; kwargs...)...)
79-
throw(ArgumentError("invalid leftorth kind"))
80-
end
81-
function rightorth!(t::AbstractTensorMap; kwargs...)
82-
Base.depwarn("`rightorth!` is deprecated, use `right_orth!` instead", :rightorth!)
83-
haskey(kwargs, :alg) || return right_orth!(t; kwargs...)
84-
alg = kwargs[:alg]
85-
kind = _kindof(alg)
86-
kind === :svd && return right_orth!(t; kind, alg_svd=alg, _drop_alg(; kwargs...)...)
87-
kind === :lq && return right_orth!(t; kind, alg_lq=alg, _drop_alg(; kwargs...)...)
88-
kind === :polar && return right_orth!(t; kind, alg_polar=alg, _drop_alg(; kwargs...)...)
89-
throw(ArgumentError("invalid rightorth kind"))
90-
end
91-
92-
# nullspaces
93-
export leftnull, leftnull!, rightnull, rightnull!
94-
function leftnull(t::AbstractTensorMap; kwargs...)
95-
Base.depwarn("`leftnull` is deprecated, use `left_null` instead", :leftnull)
96-
return leftnull!(copy_oftype(t, factorisation_scalartype(leftnull, t)); kwargs...)
97-
end
98-
function leftnull(t::AbstractTensorMap, p::Index2Tuple; kwargs...)
99-
Base.depwarn("`leftnull` is deprecated, use `left_null` instead", :leftnull)
100-
return leftnull!(permutedcopy_oftype(t, factorisation_scalartype(leftnull, t), p); kwargs...)
101-
end
102-
function rightnull(t::AbstractTensorMap; kwargs...)
103-
Base.depwarn("`rightnull` is deprecated, use `right_null` instead", :rightnull)
104-
return rightnull!(copy_oftype(t, factorisation_scalartype(rightnull, t)); kwargs...)
105-
end
106-
function rightnull(t::AbstractTensorMap, p::Index2Tuple; kwargs...)
107-
Base.depwarn("`rightnull` is deprecated, use `right_null` instead", :rightnull)
108-
return rightnull!(permutedcopy_oftype(t, factorisation_scalartype(rightnull, t), p); kwargs...)
109-
end
110-
function leftnull!(t::AbstractTensorMap; kwargs...)
111-
Base.depwarn("`leftnull!` is deprecated, use `left_null!` instead", :leftnull!)
112-
haskey(kwargs, :alg) || return left_null!(t; kwargs...)
113-
alg = kwargs[:alg]
114-
kind = _kindof(alg)
115-
kind === :svd && return left_null!(t; kind, alg_svd=alg, _drop_alg(; kwargs...)...)
116-
kind === :qr && return left_null!(t; kind, alg_qr=alg, _drop_alg(; kwargs...)...)
117-
throw(ArgumentError("invalid leftnull kind"))
118-
end
119-
function rightnull!(t::AbstractTensorMap; kwargs...)
120-
Base.depwarn("`rightnull!` is deprecated, use `right_null!` instead", :rightnull!)
121-
haskey(kwargs, :alg) || return right_null!(t; kwargs...)
122-
alg = kwargs[:alg]
123-
kind = _kindof(alg)
124-
kind === :svd && return right_null!(t; kind, alg_svd=alg, _drop_alg(; kwargs...)...)
125-
kind === :lq && return right_null!(t; kind, alg_lq=alg, _drop_alg(; kwargs...)...)
126-
throw(ArgumentError("invalid rightnull kind"))
127-
end
128-
129-
# eigen values
130-
export eig!, eigh!, eigen, eigen!
131-
@deprecate(eig(t::AbstractTensorMap, p::Index2Tuple; kwargs...),
132-
eig!(permutedcopy_oftype(t, factorisation_scalartype(eig, t), p); kwargs...))
133-
@deprecate(eigh(t::AbstractTensorMap, p::Index2Tuple; kwargs...),
134-
eigh!(permutedcopy_oftype(t, factorisation_scalartype(eigen, t), p); kwargs...))
135-
@deprecate(LinearAlgebra.eigen(t::AbstractTensorMap, p::Index2Tuple; kwargs...),
136-
eigen!(permutedcopy_oftype(t, factorisation_scalartype(eigen, t), p); kwargs...),
137-
false)
138-
function eig(t::AbstractTensorMap; kwargs...)
139-
Base.depwarn("`eig` is deprecated, use `eig_full` or `eig_trunc` instead", :eig)
140-
return haskey(kwargs, :trunc) ? eig_trunc(t; kwargs...) : eig_full(t; kwargs...)
141-
end
142-
function eig!(t::AbstractTensorMap; kwargs...)
143-
Base.depwarn("`eig!` is deprecated, use `eig_full!` or `eig_trunc!` instead", :eig!)
144-
return haskey(kwargs, :trunc) ? eig_trunc!(t; kwargs...) : eig_full!(t; kwargs...)
145-
end
146-
function eigh(t::AbstractTensorMap; kwargs...)
147-
Base.depwarn("`eigh` is deprecated, use `eigh_full` or `eigh_trunc` instead", :eigh)
148-
return haskey(kwargs, :trunc) ? eigh_trunc(t; kwargs...) : eigh_full(t; kwargs...)
149-
end
150-
function eigh!(t::AbstractTensorMap; kwargs...)
151-
Base.depwarn("`eigh!` is deprecated, use `eigh_full!` or `eigh_trunc!` instead", :eigh!)
152-
return haskey(kwargs, :trunc) ? eigh_trunc!(t; kwargs...) : eigh_full!(t; kwargs...)
153-
end
154-
155-
# singular values
156-
export tsvd, tsvd!
157-
@deprecate(tsvd(t::AbstractTensorMap, p::Index2Tuple; kwargs...),
158-
tsvd!(permutedcopy_oftype(t, factorisation_scalartype(tsvd, t), p); kwargs...))
159-
function tsvd(t::AbstractTensorMap; kwargs...)
160-
Base.depwarn("`tsvd` is deprecated, use `svd_compact`, `svd_full` or `svd_trunc` instead", :tsvd)
161-
if haskey(kwargs, :p)
162-
Base.depwarn("p is a deprecated kwarg, and should be specified through the truncation strategy", :tsvd)
163-
kwargs = _drop_p(; kwargs...)
164-
end
165-
return haskey(kwargs, :trunc) ? svd_trunc(t; kwargs...) : (svd_compact(t; kwargs...)..., abs(zero(scalartype(t))))
166-
end
167-
function tsvd!(t::AbstractTensorMap; kwargs...)
168-
Base.depwarn("`tsvd!` is deprecated, use `svd_compact!`, `svd_full!` or `svd_trunc!` instead", :tsvd!)
169-
if haskey(kwargs, :p)
170-
Base.depwarn("p is a deprecated kwarg, and should be specified through the truncation strategy", :tsvd!)
171-
kwargs = _drop_p(; kwargs...)
172-
end
173-
return haskey(kwargs, :trunc) ? svd_trunc!(t; kwargs...) : svd_compact!(t; kwargs...)
174-
end
175-
17638
#! format: on

src/factorizations/factorizations.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ function LinearAlgebra.eigen!(t::AbstractTensorMap; kwargs...)
4141
end
4242

4343
function LinearAlgebra.eigvals(t::AbstractTensorMap; kwargs...)
44-
tcopy = copy_oftype(t, factorisation_scalartype(eigen, t))
44+
tcopy = copy_oftype(t, factorisation_scalartype(LinearAlgebra.eigen, t))
4545
return LinearAlgebra.eigvals!(tcopy; kwargs...)
4646
end
4747
LinearAlgebra.eigvals!(t::AbstractTensorMap; kwargs...) = diagview(eig_vals!(t))
4848

4949
function LinearAlgebra.svdvals(t::AbstractTensorMap)
50-
tcopy = copy_oftype(t, factorisation_scalartype(tsvd, t))
50+
tcopy = copy_oftype(t, factorisation_scalartype(svd_vals!, t))
5151
return LinearAlgebra.svdvals!(tcopy)
5252
end
5353
LinearAlgebra.svdvals!(t::AbstractTensorMap) = diagview(svd_vals!(t))

0 commit comments

Comments
 (0)