# LinearAlgebraOperationsExtensions.TriangularSolveInPlace<T, TStorage2D>(ILinearAlgebraOperations<T>, MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, TStorage2D, TStorage2D) Method

Solution of a triangular linear system with multiple right-hand sides.

## Definition

Namespace: Extreme.Collections
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 9.0.0
C#
``````public static void TriangularSolveInPlace<T, TStorage2D>(
this ILinearAlgebraOperations<T> operations,
MatrixOperationSide side,
MatrixTriangle storedTriangle,
TransposeOperation transA,
MatrixDiagonal diag,
int m,
int n,
T alpha,
TStorage2D a,
TStorage2D b
)
where TStorage2D : Object, IStorage2D<T>
``````

#### Parameters

operations  ILinearAlgebraOperations<T>
The linear algebra operations instance used to perform the calculation.
side  MatrixOperationSide
Specifies on which side the triangular matrix a is to be multiplied.
storedTriangle  MatrixTriangle
Specifies whether the elements of the matrix a are stored in the upper or lower triangular part.
transA  TransposeOperation
Specifies the operation to be performed on the matrix a.
diag  MatrixDiagonal
Specifies whether or not a is unit triangular.
m  Int32
The number of rows in the matrix a and the matrix b.
n  Int32
The number of columns in the matrix b and the matrix b.
alpha  T
The scalar used to multiply the matrix-vector product.
a  TStorage2D
A span that contains the elements of the first matrix.
b  TStorage2D
A span that contains the elements of the second matrix.

T
TStorage2D

#### Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ILinearAlgebraOperations<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).