fix bug
[manpages-zh.git] / src / manl / cbdsqr.l
blobcd25ee0f5c7545f30c2f14f72b0c5d3f80641f6e
1 .TH CBDSQR 3 "15 June 2000" "LAPACK version 3.0"
2 .SH NAME
3 CBDSQR - 计算一个实 (real) NxN 上/下 (upper/lower) 三角 (bidiagonal) 矩阵 B 的单值分解 (singular value decomposition (SVD))
4 .SH "总览 SYNOPSIS"
5 .TP 19
6 SUBROUTINE CBDSQR(
7 UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
8 LDU, C, LDC, RWORK, INFO )
9 .TP 19
10 .ti +4
11 CHARACTER
12 UPLO
13 .TP 19
14 .ti +4
15 INTEGER
16 INFO, LDC, LDU, LDVT, N, NCC, NCVT, NRU
17 .TP 19
18 .ti +4
19 REAL
20 D( * ), E( * ), RWORK( * )
21 .TP 19
22 .ti +4
23 COMPLEX
24 C( LDC, * ), U( LDU, * ), VT( LDVT, * )
25 .SH PURPOSE
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.
29 .br
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
38 .br
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.
43 .br
45 .SH ARGUMENTS
46 .TP 8
47 UPLO    (input) CHARACTER*1
48 = 'U':  B is upper bidiagonal;
49 .br
50 = 'L':  B is lower bidiagonal.
51 .TP 8
52 N       (input) INTEGER
53 The order of the matrix B.  N >= 0.
54 .TP 8
55 NCVT    (input) INTEGER
56 The number of columns of the matrix VT. NCVT >= 0.
57 .TP 8
58 NRU     (input) INTEGER
59 The number of rows of the matrix U. NRU >= 0.
60 .TP 8
61 NCC     (input) INTEGER
62 The number of columns of the matrix C. NCC >= 0.
63 .TP 8
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
67 order.
68 .TP 8
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.
77 .TP 8
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.
82 .TP 8
83 LDVT    (input) INTEGER
84 The leading dimension of the array VT.
85 LDVT >= max(1,N) if NCVT > 0; LDVT >= 1 if NCVT = 0.
86 .TP 8
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.
91 .TP 8
92 LDU     (input) INTEGER
93 The leading dimension of the array U.  LDU >= max(1,NRU).
94 .TP 8
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.
99 .TP 8
100 LDC     (input) INTEGER
101 The leading dimension of the array C.
102 LDC >= max(1,N) if NCC > 0; LDC >=1 if NCC = 0.
103 .TP 8
104 RWORK   (workspace) REAL array, dimension (4*N)
105 .TP 8
106 INFO    (output) INTEGER
107 = 0:  successful exit
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.
115 .SH PARAMETERS
116 .TP 8
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).
131 .TP 8
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.
138 .SH "[中文版维护人]"
139 .B 姓名 <email>
140 .SH "[中文版最新更新]"
141 .B yyyy.mm.dd
142 .SH "《中国linux论坛man手册页翻译计划》:"
143 .BI http://cmpp.linuxforum.net