ML_DTRSYL – Solves the real Sylvester matrix equation for quasi-triangular matrices A and B

Block SymbolLicensing group: MATRIX
PIC

Function Description
The output references yA, yB and yC are always set to the corresponding input references uA, uB and uC. If HLD = on then nothing is computed otherwise the LAPACK function DTRSYL is called internally:

DTRSYL(sTRANA, sTRANB, M, N, uA, LDA, uB, LDB, uC, LDC, scale, info);

where parameters of DTRSYL are set in the following way:

  • Integer inputs trana and tranb are mapped to strings sTRANA and sTRANB: {0,1}"N", {2}"T" and {3}"C".
  • M is number of rows of the matrix referenced by uA.
  • N is number of columns of the matrix referenced by uB.
  • LDA, LDB and LDC are leading dimensions of matrices referenced by uA, uB and uC.
  • scale is returned scaling factor to avoid overflow.
  • info is return code from the function DTRSYL.

The error flag E is set to on if:

  • the reference uA or uB or uC is not defined (i.e. input uA or uB or uC is not connected),
  • trana or tranb is less than 0 or greater than 3
  • number of columns of the matrix referenced by uA is not equal to M
  • number of rows of the matrix referenced by uB is not equal to N
  • number of rows of the matrix referenced by uC is not equal to N or number of columns of this matrix is not equal to M,
  • the call of the function DTRSYL returns error using the function XERBLA, see the system log.

See LAPACK documentation [8] for more details.

Inputs

uA

Input reference to matrix A

Reference

uB

Input reference to matrix B

Reference

uC

Input reference to matrix C

Reference

trana

Transposition of matrix A   0  3

Long (I32)

tranb

Transposition of matrix B   0  3

Long (I32)

isgn

Sign in the equation (1 or -1)   -1  1

Long (I32)

HLD

Hold

Bool

Outputs

yA

Output reference to matrix A

Reference

yB

Output reference to matrix B

Reference

yC

Output reference to matrix C

Reference

scale

Scale

Double (F64)

E

Error indicator

Bool

info

LAPACK function result info. If info = -i, the i=th argument had an illegal value

Long (I32)

2024 © REX Controls s.r.o., www.rexygen.com