|
|
◆ ztrsyl()
| void ztrsyl |
( |
char |
transa, |
|
|
char |
transb, |
|
|
int |
isgn, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int |
lda, |
|
|
doublecomplex |
a[], |
|
|
int |
ldb, |
|
|
doublecomplex |
b[], |
|
|
int |
ldc, |
|
|
doublecomplex |
c[], |
|
|
double * |
scale, |
|
|
int * |
info |
|
) |
| |
Solve complex Sylvester matrix equation
- Purpose
- This routine solves the complex Sylvester matrix equation:
op(A)*X + X*op(B) = scale*C or
op(A)*X - X*op(B) = scale*C
where op(A) = A or A^H, and A and B are both upper triangular. A is m x m and B is n x n. The right hand side C and the solution X are m x n. scale is an output scale factor, set <= 1 by the routine to avoid overflow in X.
- Parameters
-
| [in] | transa | Specifies the option op(A):
= 'N': op(A) = A (No transpose)
= 'C': op(A) = A^H (Conjugate transpose) |
| [in] | transb | Specifies the option op(B):
= 'N': op(B) = B (No transpose)
= 'C': op(B) = B^H (Conjugate transpose) |
| [in] | isgn | Specifies the sign in the equation:
= +1: Solve op(A)*X + X*op(B) = scale*C
= -1: Solve op(A)*X - X*op(B) = scale*C |
| [in] | m | The order of the matrix A, and the number of rows in the matrices X and C. (m >= 0) (If m = 0, returns without computation) |
| [in] | n | The order of the matrix B, and the number of columns in the matrices X and C. (n >= 0) (If n = 0, returns without computation) |
| [in] | lda | Leading dimension of the two dimensional array a[][]. (lda >= max(1, m)) |
| [in] | a[][] | Array a[la][lda] (la >= m)
The upper triangular matrix A. |
| [in] | ldb | Leading dimension of the two dimensional array b[][]. (ldb >= max(1, n)) |
| [in] | b[][] | Array b[lb][ldb] (lb >= n)
The upper triangular matrix B. |
| [in] | ldc | Leading dimension of the two dimensional array c[][]. (ldc >= max(1, m)) |
| [in,out] | c[][] | Array c[lc][ldc] (lc >= n)
[in] The m x n right hand side matrix C.
[out] Overwritten by the solution matrix X. |
| [out] | scale | The scale factor, scale, set <= 1 by the routine to avoid overflow in X. |
| [out] | info | = 0: Successful exit
= -1: The argument transa had an illegal value (transa != 'N' nor 'C')
= -2: The argument transb had an illegal value (transb != 'N' nor 'C')
= -3: The argument isgn had an illegal value (isign != 1 nor -1)
= -4: The argument m had an illegal value (m < 0)
= -5: The argument n had an illegal value (n < 0)
= -6: The argument lda had an illegal value (lda < max(1, m))
= -8: The argument ldb had an illegal value (ldb < max(1, n))
= -10: The argument ldc had an illegal value (ldc < max(1, m))
= 1: A and B have common or very close eigenvalues; perturbed values were used to solve the equation (but the matrices A and B are unchanged). |
- Reference
- LAPACK
|