You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -647,38 +646,18 @@ function LinearAlgebra.svd!(
647
646
# Convert the input matrix A to bidiagonal form and return a BidiagonalFactorization object
648
647
BF =bidiagonalize!(A)
649
648
650
-
# The location of the super/sub-diagonal of the bidiagonal matrix depends on the aspect ratio of the input. For tall and square matrices, the bidiagonal matrix is upper whereas it is lower for wide input matrices as illustrated below. The 'O' entries indicate orthogonal (unitary) matrices.
651
-
652
-
# A = Q_l * B * Q_r^H
653
-
654
-
# |x x x| = |O O O| |x x | |O O O|
655
-
# |x x x| |O O O|*| x x|*|O O O|
656
-
# |x x x| |O O O| | x| |O O O|
657
-
# |x x x| |O O O|
658
-
# |x x x| |O O O|
659
-
660
-
# |x x x x x| = |O O O| |x | |O O O O O|
661
-
# |x x x x x| |O O O|*|x x |*|O O O O O|
662
-
# |x x x x x| |O O O| | x x| |O O O O O|
663
-
664
-
_B = BF.bidiagonal
665
-
B = _B.uplo ==='U'? _B :Bidiagonal(_B.dv, _B.ev, :U)
649
+
B = BF.bidiagonal
666
650
667
651
# Compute the SVD of the bidiagonal matrix B
668
652
F =_svd!(B, tol = tol)
669
653
670
654
# Form the matrices U and Vᴴ by combining the singular vector matrices of the bidiagonal SVD with the Householder reflectors from the bidiagonal factorization.
0 commit comments