XLPack 6.1
Excel VBA Numerical Library Reference Manual
Loading...
Searching...
No Matches

◆ Ztrsyl()

Sub Ztrsyl ( Transa As  String,
Transb As  String,
Isign As  Long,
M As  Long,
N As  Long,
A() As  Complex,
B() As  Complex,
C() As  Complex,
Scal As  Double,
Info As  Long 
)

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 quasi-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]TransaSpecifies the option op(A):
= "N": op(A) = A (No transpose)
= "C": op(A) = A^H (Conjugate transpose)
[in]TransbSpecifies the option op(B):
= "N": op(B) = B (No transpose)
= "C": op(B) = B^H (Conjugate transpose)
[in]IsgnSpecifies 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]MThe 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]NThe 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]A()Array A(LA1 - 1, LA2 - 1) (LA1 >= M, LA2 >= M)
The upper triangular matrix A.
[in]B()Array B(LB1 - 1, LB2 - 1) (LB1 >= N, LB2 >= N)
The upper triangular matrix B.
[in,out]C()Array C(LC1 - 1, LC2 - 1) (LC1 >= M, LC2 >= N)
[in] The M x N right hand side matrix C.
[out] Overwritten by the solution matrix X.
[out]ScalThe 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 A() is invalid.
= -7: The argument B() is invalid.
= -8: The argument C() is invalid.
= 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