@@ -35,142 +35,4 @@ Base.@deprecate EuclideanProduct() EuclideanInnerProduct()
3535
3636Base. @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
0 commit comments