Skip to content

Commit 9f6761f

Browse files
committed
remove some boilerplate and disambiguate
1 parent 39f20b1 commit 9f6761f

File tree

2 files changed

+4
-25
lines changed

2 files changed

+4
-25
lines changed

src/tensors/factorizations/diagonal.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ for f! in (:lq_full!, :lq_compact!)
105105
end
106106
end
107107

108+
# disambiguate
109+
svd_compact!(t::AbstractTensorMap, USVᴴ, alg::DiagonalAlgorithm) = svd_full!(t, USVᴴ, alg)
110+
108111
# f_vals
109112
# ------
110113

src/tensors/factorizations/matrixalgebrakit.jl

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ function initialize_output(::typeof(svd_compact!), t::AbstractTensorMap,
154154
return U, S, Vᴴ
155155
end
156156

157+
# TODO: remove this once `AbstractMatrix` specialization is removed in MatrixAlgebraKit
157158
function initialize_output(::typeof(svd_trunc!), t::AbstractTensorMap,
158159
alg::TruncatedAlgorithm)
159160
return initialize_output(svd_compact!, t, alg.alg)
@@ -165,11 +166,6 @@ function initialize_output(::typeof(svd_vals!), t::AbstractTensorMap,
165166
return DiagonalTensorMap{real(scalartype(t))}(undef, V_cod)
166167
end
167168

168-
function svd_trunc!(t::AbstractTensorMap, USVᴴ, alg::TruncatedAlgorithm)
169-
USVᴴ′ = svd_compact!(t, USVᴴ, alg.alg)
170-
return truncate!(svd_trunc!, USVᴴ′, alg.trunc)
171-
end
172-
173169
# Eigenvalue decomposition
174170
# ------------------------
175171
function check_input(::typeof(eigh_full!), t::AbstractTensorMap, DV, ::AbstractAlgorithm)
@@ -284,26 +280,6 @@ function initialize_output(::typeof(eig_vals!), t::AbstractTensorMap,
284280
return D = DiagonalTensorMap{Tc}(undef, V_D)
285281
end
286282

287-
function initialize_output(::typeof(eigh_trunc!), t::AbstractTensorMap,
288-
alg::TruncatedAlgorithm)
289-
return initialize_output(eigh_full!, t, alg.alg)
290-
end
291-
292-
function initialize_output(::typeof(eig_trunc!), t::AbstractTensorMap,
293-
alg::TruncatedAlgorithm)
294-
return initialize_output(eig_full!, t, alg.alg)
295-
end
296-
297-
function eigh_trunc!(t::AbstractTensorMap, DV, alg::TruncatedAlgorithm)
298-
DV′ = eigh_full!(t, DV, alg.alg)
299-
return truncate!(eigh_trunc!, DV′, alg.trunc)
300-
end
301-
302-
function eig_trunc!(t::AbstractTensorMap, DV, alg::TruncatedAlgorithm)
303-
DV′ = eig_full!(t, DV, alg.alg)
304-
return truncate!(eig_trunc!, DV′, alg.trunc)
305-
end
306-
307283
# QR decomposition
308284
# ----------------
309285
function check_input(::typeof(qr_full!), t::AbstractTensorMap, QR, ::AbstractAlgorithm)

0 commit comments

Comments
 (0)