### 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 $\downarrow $0 $\uparrow $3 $\odot $0.00E+00 | Long (I32) |

tranb | Transposition of matrix B $\downarrow $0 $\uparrow $3 $\odot $0.00E+00 | Long (I32) |

isgn | Sign in the equation (1 or -1) $\downarrow $-1 $\uparrow $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) |

[Previous] [Back to top] [Up] [Next]

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