LinearAlgebraOperationsExtensions.TriangularMatrixNorm Method

Definition

Namespace: Numerics.NET.Collections
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4

Overload List

TriangularMatrixNorm<T>(ILinearAlgebraOperations<T>, MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan2D<T>)

Returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix A.

TriangularMatrixNorm<T, TStorage2D>(ILinearAlgebraOperations<T>, MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, TStorage2D) Computes the norm of a triangular matrix.

TriangularMatrixNorm<T>(ILinearAlgebraOperations<T>, MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan2D<T>)

Returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix A.

C#
public static T TriangularMatrixNorm<T>(
	this ILinearAlgebraOperations<T> operations,
	MatrixNorm norm,
	MatrixTriangle storedTriangle,
	MatrixDiagonal diag,
	int m,
	int n,
	ReadOnlySpan2D<T> a
)

Parameters

operations  ILinearAlgebraOperations<T>
The object that performs the operation.
norm  MatrixNorm
            Specifies the value to be returned in DLANTR as described
            above.
            
storedTriangle  MatrixTriangle
            Specifies whether the matrix A is upper or lower trapezoidal.
            = 'U':  Upper trapezoidal
            = 'L':  Lower trapezoidal
            Note that A is triangular instead of trapezoidal if M = N.
            
diag  MatrixDiagonal
            Specifies whether or not the matrix A has unit diagonal.
            = 'N':  Non-unit diagonal
            = 'U':  Unit diagonal
            
m  Int32
            The number of rows of the matrix A.  M >= 0, and if
            UPLO = 'U', M <= N.  When M = 0, DLANTR is set to zero.
            
n  Int32
            The number of columns of the matrix A.  N >= 0, and if
            UPLO = 'L', N <= M.  When N = 0, DLANTR is set to zero.
            
a  ReadOnlySpan2D<T>
            Dimension (LDA,N)
            The trapezoidal matrix A (A is triangular if M = N).
            If UPLO = 'U', the leading m by n upper trapezoidal part of
            the array A contains the upper trapezoidal matrix, and the
            strictly lower triangular part of A is not referenced.
            If UPLO = 'L', the leading m by n lower trapezoidal part of
            the array A contains the lower trapezoidal matrix, and the
            strictly upper triangular part of A is not referenced.  Note
            that when DIAG = 'U', the diagonal elements of A are not
            referenced and are assumed to be one.
            
            The leading dimension of the array A.  LDA >= max(M,1).
            

Type Parameters

T

Return Value

T

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).

Remarks

            DLANTR = ( max(abs(A(i,j))), NORM = 'M' or 'm'
                     (
                     ( norm1(A),         NORM = '1', 'O' or 'o'
                     (
                     ( normI(A),         NORM = 'I' or 'i'
                     (
                     ( normF(A),         NORM = 'F', 'f', 'E' or 'e'
            ere  norm1  denotes the  one norm of a matrix (maximum column sum),
            ormI  denotes the  infinity norm  of a matrix  (maximum row sum) and
            normF  denotes the  Frobenius norm of a matrix (square root of sum of
            squares).  Note that  max(abs(A(i,j)))  is not a consistent matrix norm.
            

This method corresponds to the LAPACK routine DLANTR.

TriangularMatrixNorm<T, TStorage2D>(ILinearAlgebraOperations<T>, MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, TStorage2D)

Computes the norm of a triangular matrix.
C#
public static T TriangularMatrixNorm<T, TStorage2D>(
	this ILinearAlgebraOperations<T> operations,
	MatrixNorm norm,
	MatrixTriangle storedTriangle,
	MatrixDiagonal diag,
	int m,
	int n,
	TStorage2D a
)
where TStorage2D : Object, IStorage2D<T>

Parameters

operations  ILinearAlgebraOperations<T>
The linear algebra operations instance used to perform the calculation.
norm  MatrixNorm
A MatrixNorm that specifies the type of norm to compute.
storedTriangle  MatrixTriangle
A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
diag  MatrixDiagonal
A MatrixDiagonal value that indicates whether the diagonal elements are all equal to one.
m  Int32
The number of rows of the matrix.
n  Int32
The number of columns of the matrix.
a  TStorage2D
A T array that contains the elements of the matrix.

Type Parameters

T
TStorage2D

Return Value

T
The norm of the matrix.

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).

Remarks

This method corresponds to the LAPACK routine ?LANTR.

See Also