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

Block SymbolLicensing group: MATRIX

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: $\left\{0,1\right\}\to \mathtt{\text{"N"}}$, $\left\{2\right\}\to \mathtt{\text{"T"}}$ and $\left\{3\right\}\to \mathtt{\text{"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 [7] 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 $\odot$0.00E+00 Long (I32) tranb Transposition of matrix B  $↓$0 $↑$3 $\odot$0.00E+00 Long (I32) isgn Sign in the equation (1 or -1)  $↓$-1 $↑$1 $\odot$0.00E+00 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)

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