1 .TH CBDSQR 3 "15 June 2000" "LAPACK version 3.0"
3 CBDSQR - 计算一个实 (real) NxN 上/下 (upper/lower) 三角 (bidiagonal) 矩阵 B 的单值分解 (singular value decomposition (SVD))
7 UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
8 LDU, C, LDC, RWORK, INFO )
16 INFO, LDC, LDU, LDVT, N, NCC, NCVT, NRU
20 D( * ), E( * ), RWORK( * )
24 C( LDC, * ), U( LDU, * ), VT( LDVT, * )
26 CBDSQR computes the singular value decomposition (SVD) of a real N-by-N (upper or lower) bidiagonal matrix B: B = Q * S * P' (P' denotes the transpose of P), where S is a diagonal matrix with
27 non-negative diagonal elements (the singular values of B), and Q
28 and P are orthogonal matrices.
31 The routine computes S, and optionally computes U * Q, P' * VT,
32 or Q' * C, for given complex input matrices U, VT, and C.
34 See "Computing Small Singular Values of Bidiagonal Matrices With
35 Guaranteed High Relative Accuracy," by J. Demmel and W. Kahan,
36 LAPACK Working Note #3 (or SIAM J. Sci. Statist. Comput. vol. 11,
37 no. 5, pp. 873-912, Sept 1990) and
39 "Accurate singular values and differential qd algorithms," by
40 B. Parlett and V. Fernando, Technical Report CPAM-554, Mathematics
41 Department, University of California at Berkeley, July 1992
42 for a detailed description of the algorithm.
47 UPLO (input) CHARACTER*1
48 = 'U': B is upper bidiagonal;
50 = 'L': B is lower bidiagonal.
53 The order of the matrix B. N >= 0.
56 The number of columns of the matrix VT. NCVT >= 0.
59 The number of rows of the matrix U. NRU >= 0.
62 The number of columns of the matrix C. NCC >= 0.
64 D (input/output) REAL array, dimension (N)
65 On entry, the n diagonal elements of the bidiagonal matrix B.
66 On exit, if INFO=0, the singular values of B in decreasing
69 E (input/output) REAL array, dimension (N)
70 On entry, the elements of E contain the
71 offdiagonal elements of of the bidiagonal matrix whose SVD
72 is desired. On normal exit (INFO = 0), E is destroyed.
73 If the algorithm does not converge (INFO > 0), D and E
74 will contain the diagonal and superdiagonal elements of a
75 bidiagonal matrix orthogonally equivalent to the one given
76 as input. E(N) is used for workspace.
78 VT (input/output) COMPLEX array, dimension (LDVT, NCVT)
79 On entry, an N-by-NCVT matrix VT.
80 On exit, VT is overwritten by P' * VT.
81 VT is not referenced if NCVT = 0.
84 The leading dimension of the array VT.
85 LDVT >= max(1,N) if NCVT > 0; LDVT >= 1 if NCVT = 0.
87 U (input/output) COMPLEX array, dimension (LDU, N)
88 On entry, an NRU-by-N matrix U.
89 On exit, U is overwritten by U * Q.
90 U is not referenced if NRU = 0.
93 The leading dimension of the array U. LDU >= max(1,NRU).
95 C (input/output) COMPLEX array, dimension (LDC, NCC)
96 On entry, an N-by-NCC matrix C.
97 On exit, C is overwritten by Q' * C.
98 C is not referenced if NCC = 0.
101 The leading dimension of the array C.
102 LDC >= max(1,N) if NCC > 0; LDC >=1 if NCC = 0.
104 RWORK (workspace) REAL array, dimension (4*N)
106 INFO (output) INTEGER
109 < 0: If INFO = -i, the i-th argument had an illegal value
111 > 0: the algorithm did not converge; D and E contain the
112 elements of a bidiagonal matrix which is orthogonally
113 similar to the input matrix B; if INFO = i, i
114 elements of E have not converged to zero.
117 TOLMUL REAL, default = max(10,min(100,EPS**(-1/8)))
118 TOLMUL controls the convergence criterion of the QR loop.
119 If it is positive, TOLMUL*EPS is the desired relative
120 precision in the computed singular values.
121 If it is negative, abs(TOLMUL*EPS*sigma_max) is the
122 desired absolute accuracy in the computed singular
123 values (corresponds to relative accuracy
124 abs(TOLMUL*EPS) in the largest singular value.
125 abs(TOLMUL) should be between 1 and 1/EPS, and preferably
126 between 10 (for fast convergence) and .1/EPS
127 (for there to be some accuracy in the results).
128 Default is to lose at either one eighth or 2 of the
129 available decimal digits in each computed singular value
130 (whichever is smaller).
132 MAXITR INTEGER, default = 6
133 MAXITR controls the maximum number of passes of the
134 algorithm through its inner loop. The algorithms stops
135 (and so fails to converge) if the number of passes
136 through the inner loop exceeds MAXITR*N**2.
142 .SH "《中国linux论坛man手册页翻译计划》:"
143 .BI http://cmpp.linuxforum.net