@@ -267,40 +267,6 @@ function ad_qr_full_setup(A)
267267 return QR, ΔQR
268268end
269269
270- # function ad_qr_rank_deficient_compact_setup(A)
271- # m, n = size(A)
272- # minmn = min(m, n)
273- # T = eltype(A)
274- # r = minmn - 5
275- # Ard = randn!(similar(A, T, m, r)) * randn!(similar(A, T, r, n))
276- # Q, R = qr_compact(Ard)
277- # QR = (Q, R)
278- # ΔQ = randn!(similar(A, T, m, minmn))
279- # Q1 = view(Q, 1:m, 1:r)
280- # Q2 = view(Q, 1:m, (r + 1):minmn)
281- # ΔQ2 = view(ΔQ, 1:m, (r + 1):minmn)
282- # MatrixAlgebraKit.zero!(ΔQ2)
283- # ΔR = randn!(similar(A, T, minmn, n))
284- # view(ΔR, (r + 1):minmn, :) .= 0
285- # return (Q, R), (ΔQ, ΔR)
286- # end
287-
288- # function ad_qr_rank_deficient_compact_setup(A::Diagonal)
289- # m, n = size(A)
290- # minmn = min(m, n)
291- # T = eltype(A)
292- # r = minmn - 5
293- # Ard_ = randn!(similar(A, T, m))
294- # MatrixAlgebraKit.zero!(view(Ard_, (r + 1):m))
295- # Ard = Diagonal(Ard_)
296- # Q, R = qr_compact(Ard)
297- # ΔQ = Diagonal(randn!(similar(diagview(A), T, m)))
298- # ΔR = Diagonal(randn!(similar(diagview(A), T, m)))
299- # MatrixAlgebraKit.zero!(view(diagview(ΔQ), (r + 1):m))
300- # MatrixAlgebraKit.zero!(view(diagview(ΔR), (r + 1):m))
301- # return (Q, R), (ΔQ, ΔR)
302- # end
303-
304270function ad_lq_compact_setup (A)
305271 LQ = lq_compact (A)
306272 ΔLQ = structured_randn! .(similar .(LQ))
@@ -322,56 +288,19 @@ function ad_lq_full_setup(A)
322288 return LQ, ΔLQ
323289end
324290
325- # function ad_lq_rank_deficient_compact_setup(A)
326- # m, n = size(A)
327- # minmn = min(m, n)
328- # T = eltype(A)
329- # r = minmn - 5
330- # Ard = randn!(similar(A, T, m, r)) * randn!(similar(A, T, r, n))
331- # L, Q = lq_compact(Ard)
332- # ΔL = randn!(similar(A, T, m, minmn))
333- # ΔQ = randn!(similar(A, T, minmn, n))
334- # Q1 = view(Q, 1:r, 1:n)
335- # Q2 = view(Q, (r + 1):minmn, 1:n)
336- # ΔQ2 = view(ΔQ, (r + 1):minmn, 1:n)
337- # ΔQ2 .= 0
338- # view(ΔL, :, (r + 1):minmn) .= 0
339- # return (L, Q), (ΔL, ΔQ)
340- # end
341- # ad_lq_rank_deficient_compact_setup(A::Diagonal) = ad_qr_rank_deficient_compact_setup(A)
342-
343291function ad_eig_full_setup (A)
344292 D, V = eig_full (A)
345293 ΔD, ΔV = structured_randn! .(similar .((D, V)))
346294 ΔV = remove_eig_gauge_dependence! (ΔV, D, V)
347295 return (D, V), (ΔD, ΔV)
348296end
349297
350- # function ad_eig_full_setup(A::Diagonal)
351- # m, n = size(A)
352- # T = complex(eltype(A))
353- # DV = eig_full(A)
354- # D, V = DV
355- # ΔV = randn!(similar(A.diag, T, m, m))
356- # ΔV = remove_eig_gauge_dependence!(ΔV, D, V)
357- # ΔD = Diagonal(randn!(similar(A.diag, T, m)))
358- # return DV, (ΔD, ΔV)
359- # end
360-
361298function ad_eig_vals_setup (A)
362299 D = eig_vals (A)
363300 ΔD = randn! (similar (D))
364301 return D, ΔD
365302end
366303
367- # function ad_eig_vals_setup(A::Diagonal)
368- # m, n = size(A)
369- # T = complex(eltype(A))
370- # D = eig_vals(A)
371- # ΔD = randn!(similar(A.diag, T, m))
372- # return D, ΔD
373- # end
374-
375304function ad_eig_trunc_setup (A, truncalg)
376305 DV, ΔDV = ad_eig_full_setup (A)
377306 ind = MatrixAlgebraKit. findtruncated (diagview (DV[1 ]), truncalg. trunc)
@@ -412,18 +341,6 @@ function ad_svd_compact_setup(A)
412341 return (U, S, Vᴴ), (ΔU, ΔS, ΔVᴴ)
413342end
414343
415- # function ad_svd_compact_setup(A::Diagonal)
416- # m, n = size(A)
417- # T = eltype(A)
418- # minmn = min(m, n)
419- # ΔU = randn!(similar(A.diag, T, m, n))
420- # ΔS = Diagonal(randn!(similar(A.diag, real(T), minmn)))
421- # ΔVᴴ = randn!(similar(A.diag, T, m, n))
422- # U, S, Vᴴ = svd_compact(A)
423- # ΔU, ΔVᴴ = remove_svd_gauge_dependence!(ΔU, ΔVᴴ, U, S, Vᴴ)
424- # return (U, S, Vᴴ), (ΔU, ΔS, ΔVᴴ)
425- # end
426-
427344function ad_svd_full_setup (A)
428345 U, S, Vᴴ = svd_full (A)
429346 ΔU = structured_randn! (similar (U))
@@ -434,8 +351,6 @@ function ad_svd_full_setup(A)
434351 return (U, S, Vᴴ), (ΔU, ΔS, ΔVᴴ)
435352end
436353
437- # ad_svd_full_setup(A::Diagonal) = ad_svd_compact_setup(A)
438-
439354function ad_svd_vals_setup (A)
440355 S = svd_vals (A)
441356 ΔS = randn! (similar (S))
0 commit comments