Skip to content

Commit 3c20424

Browse files
committed
adapt pullbacks
1 parent 5631fe6 commit 3c20424

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/tensors/factorizations/factorizations.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ import MatrixAlgebraKit: default_algorithm,
4242
left_orth!, right_orth!, left_null!, right_null!,
4343
truncate, findtruncated, findtruncated_svd,
4444
diagview, isisometry
45-
using MatrixAlgebraKit: qr_compact_pullback!, lq_compact_pullback!,
45+
using MatrixAlgebraKit: qr_pullback!, qr_null_pullback!,
46+
lq_pullback!, lq_null_pullback!,
4647
svd_pullback!, svd_trunc_pullback!,
4748
eig_pullback!, eig_trunc_pullback!,
4849
eigh_pullback!, eigh_trunc_pullback!,

src/tensors/factorizations/pullbacks.jl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
for pullback! in (:qr_compact_pullback!, :lq_compact_pullback!,
1+
for pullback! in (:qr_pullback!, :lq_pullback!,
22
:left_polar_pullback!, :right_polar_pullback!)
33
@eval function MatrixAlgebraKit.$pullback!(Δt::AbstractTensorMap, t::AbstractTensorMap,
44
F, ΔF; kwargs...)
@@ -10,6 +10,17 @@ for pullback! in (:qr_compact_pullback!, :lq_compact_pullback!,
1010
return Δt
1111
end
1212
end
13+
for pullback! in (:qr_null_pullback!, :lq_null_pullback!)
14+
@eval function MatrixAlgebraKit.$pullback!(Δt::AbstractTensorMap, t::AbstractTensorMap,
15+
F, ΔF; kwargs...)
16+
foreachblock(Δt, t) do c, (Δb, b)
17+
Fc = block(F, c)
18+
ΔFc = block(ΔF, c)
19+
return $pullback!(Δb, b, Fc, ΔFc; kwargs...)
20+
end
21+
return Δt
22+
end
23+
end
1324

1425
_notrunc_ind(t) = SectorDict(c => Colon() for c in blocksectors(t))
1526

0 commit comments

Comments
 (0)