@@ -235,19 +235,19 @@ function svd_trunc_pullback!(
235235 Y₀ᴴ = iszerotangent (ΔV₊ᴴ) ? zero (Vᴴ) : ldiv! (Diagonal (S), ΔV₊ᴴ)
236236 AP = mul! (copy (A), U, Smat * Vᴴ, - 1 , 1 )
237237 AP ./= S[end ]
238- Sinv = S[end ] ./ S
239- X₁ = rmul! (AP * Y₀ᴴ' , Diagonal (Sinv ))
238+ S⁻¹ = S[end ] ./ S
239+ X₁ = rmul! (AP * Y₀ᴴ' , Diagonal (S⁻¹ ))
240240 X₁ .+ = X₀
241- Y₁ᴴ = lmul! (Diagonal (Sinv ), X₀' * AP)
241+ Y₁ᴴ = lmul! (Diagonal (S⁻¹ ), X₀' * AP)
242242 Y₁ᴴ .+ = Y₀ᴴ
243243 Xₖ, Xₖ₊₁ = X₁, X₀
244244 Yₖᴴ, Yₖ₊₁ᴴ = Y₁ᴴ, Y₀ᴴ
245245 APAᴴₖ, AᴴPAₖ = AP * AP' , AP' * AP
246246 APAᴴₖ₊₁, AᴴPAₖ₊₁ = zero (APAᴴₖ), zero (AᴴPAₖ)
247- Sinvₖ, Sinvₖ ₊₁ = Sinv .^ 2 , Sinv
247+ S⁻¹ₖ, S⁻¹ₖ ₊₁ = S⁻¹ .^ 2 , S⁻¹
248248 for k in 1 : maxiter
249- Xₖ₊₁ = rmul! (mul! (Xₖ₊₁, APAᴴₖ, Xₖ), Diagonal (Sinvₖ ))
250- Yₖ₊₁ᴴ = lmul! (Diagonal (Sinvₖ ), mul! (Yₖ₊₁ᴴ, Yₖᴴ, AᴴPAₖ))
249+ Xₖ₊₁ = rmul! (mul! (Xₖ₊₁, APAᴴₖ, Xₖ), Diagonal (S⁻¹ₖ ))
250+ Yₖ₊₁ᴴ = lmul! (Diagonal (S⁻¹ₖ ), mul! (Yₖ₊₁ᴴ, Yₖᴴ, AᴴPAₖ))
251251 if norm (Xₖ₊₁, Inf ) < degeneracy_atol && norm (Yₖ₊₁ᴴ, Inf ) < degeneracy_atol
252252 break
253253 end
@@ -257,14 +257,14 @@ function svd_trunc_pullback!(
257257 @warn " Sylvester iteration did not converge after $k iterations, final norms: (X: $(norm (Xₖ₊₁, Inf )) , Yᴴ: $(norm (Yₖ₊₁ᴴ, Inf )) )"
258258 break
259259 end
260- Sinvₖ ₊₁ .= Sinvₖ .^ 2
260+ S⁻¹ₖ ₊₁ .= S⁻¹ₖ .^ 2
261261 APAᴴₖ₊₁ = mul! (APAᴴₖ₊₁, APAᴴₖ, APAᴴₖ)
262262 AᴴPAₖ₊₁ = mul! (AᴴPAₖ₊₁, AᴴPAₖ, AᴴPAₖ)
263263 Xₖ, Xₖ₊₁ = Xₖ₊₁, Xₖ
264264 Yₖᴴ, Yₖ₊₁ᴴ = Yₖ₊₁ᴴ, Yₖᴴ
265265 APAᴴₖ, APAᴴₖ₊₁ = APAᴴₖ₊₁, APAᴴₖ
266266 AᴴPAₖ, AᴴPAₖ₊₁ = AᴴPAₖ₊₁, AᴴPAₖ
267- Sinvₖ, Sinvₖ ₊₁ = Sinvₖ ₊₁, Sinvₖ
267+ S⁻¹ₖ, S⁻¹ₖ ₊₁ = S⁻¹ₖ ₊₁, S⁻¹ₖ
268268 end
269269 ΔA = mul! (ΔA, Xₖ, Vᴴ, 1 , 1 )
270270 ΔA = mul! (ΔA, U, Yₖᴴ, 1 , 1 )
0 commit comments