LinearAlgebra`BLAS`
LinearAlgebra`BLAS`

# TRSM

TRSM[sd,ul,ts,dg,α,a,b]

solves triangular systems of linear equations opts[a].x=α b or x.opts[a]==α b and resets b to the results x.

# Details and Options

• To use TRSM, you first need to load the BLAS Package using Needs["LinearAlgebra`BLAS`"].
• The following arguments must be given:
•  sd input string left/right side string ul input string upper/lower triangular string ts input string transposition string dg input string diagonal ones string α input expression scalar mutliple a input expression rectangular matrix b input/output symbol rectangular matrix; the symbol value is modified in place
• The left/right side string sd may be specified as:
•  "L" a is on the left side of the dot product "R" a is on the right side of the dot product
• The upper/lower triangular string ul may be specified as:
•  "U" the upper triangular part of a is to be used "L" the lower triangular part of a is to be used
• The transposition strings describe the operators opts and may be specified as:
•  "N" no transposition "T" transpose "C" conjugate transpose
• The diagonal ones string dg may be specified as:
•  "U" the main diagonal of a is assumed to contain only ones "N" the actual values of the main diagonal of a are used
• Dimensions of the matrix arguments must be such that the dot product is well defined.

# Examples

open allclose all

## Basic Examples(1)

Compute Inverse[UpperTriangularize[a]].b and save it in b:

## Scope(4)

Real matrices:

Complex matrices:

Arbitrary-precision matrices:

Symbolic matrices:

## Properties & Relations(4)

For invertible matrices a, TRSM["L","U","N","N",α,a,b] is equivalent to b=α Inverse[UpperTriangularize[a]].b:

For invertible matrices a, TRSM["L","L","T","N",α,a,b] is equivalent to b=α Inverse[Transpose[LowerTriangularize[a]]].b:

Note this is not TRSM["L","U","T","N",α,a,L] as the lower triangular part is used for the transpose:

If dg="U", the diagonal values of a are assumed to be ones:

The diagonal in a has been effectively replaced by ones:

If a is a rectangular matrix then only the leading upper or lower triangular part of a is used:

The matrix a is effectively truncated to its upper left corner:

## Possible Issues(2)

The last argument must be a symbol:

The last argument must be initialized to a matrix:

Wolfram Research (2017), TRSM, Wolfram Language function, https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/TRSM.html.

#### Text

Wolfram Research (2017), TRSM, Wolfram Language function, https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/TRSM.html.

#### CMS

Wolfram Language. 2017. "TRSM." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/TRSM.html.

#### APA

Wolfram Language. (2017). TRSM. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/TRSM.html

#### BibTeX

@misc{reference.wolfram_2022_trsm, author="Wolfram Research", title="{TRSM}", year="2017", howpublished="\url{https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/TRSM.html}", note=[Accessed: 10-June-2023 ]}

#### BibLaTeX

@online{reference.wolfram_2022_trsm, organization={Wolfram Research}, title={TRSM}, year={2017}, url={https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/TRSM.html}, note=[Accessed: 10-June-2023 ]}