LinearAlgebraOperations<T> Class

Implements the BLAS (Basic Linear Algebra Subroutines) for generic element types.

Definition

Namespace: Numerics.NET.LinearAlgebra.Implementation
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.0
C#
public abstract class LinearAlgebraOperations<T> : ILinearAlgebraOperations<T>, 
	IImplementation, IParallelized, ILinearAlgebraOperations<Complex<T>>
Inheritance
Object  →  LinearAlgebraOperations<T>
Derived
Implements
IParallelized, ILinearAlgebraOperations<T>, ILinearAlgebraOperations<Complex<T>>, IImplementation

Type Parameters

T
The element type of the arrays.

Constructors

LinearAlgebraOperations<T>Initializes a new instance of the LinearAlgebraOperations<T> class

Properties

HasSharedDegreeOfParallelism Indicates whether the degree of parallelism is a property that is shared across instances.
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by the instance.
Name Gets the name of the implementation.
Platform Gets the processor architecture supported by the implementation.

Methods

AbsoluteMaxIndex(Int32, ArraySlice<T>)

Finds the index of element having max.

AbsoluteMaxIndex(Int32, ArraySlice<Complex<T>>)

Finds the index of element having max.

AbsoluteMaxIndex(Int32, ReadOnlySpanSlice<Complex<T>>)

Finds the index of element having max.

AbsoluteMaxIndex(Int32, ReadOnlySpan<T>, Int32)

Finds the index of element having max.

AbsoluteMaxIndex(Int32, ReadOnlySpan<Complex<T>>, Int32)

Finds the index of element having max.

ApplyModifiedGivensRotation(Int32, ArraySlice<T>, ArraySlice<T>, T[])

THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX (DXT) , WHERE **T INDICATES TRANSPOSE.

ApplyModifiedGivensRotation(Int32, Span<T>, Int32, Span<T>, Int32, T[])

THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX (DXT) , WHERE **T INDICATES TRANSPOSE.

BandHermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, Int32, Complex<T>, Array2D<Complex<T>>, ArraySlice<Complex<T>>, Complex<T>, ArraySlice<Complex<T>>)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian band matrix, with k super-diagonals.

BandHermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Complex<T>, SpanSlice<Complex<T>>)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian band matrix, with k super-diagonals.

BandHermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x, incx and y are n element vectors and A is an n by n hermitian band matrix, with k super-diagonals.

BandMatrixNorm(MatrixNorm, Int32, Int32, Int32, ReadOnlySpan<T>, Int32) Computes the norm of a general band matrix.
BandMatrixNorm(MatrixNorm, Int32, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a general band matrix.
BandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, T, Array2D<T>, ArraySlice<T>, T, ArraySlice<T>)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.

BandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, Complex<T>, Array2D<Complex<T>>, ArraySlice<Complex<T>>, Complex<T>, ArraySlice<Complex<T>>)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, or y := alpha*AH*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.

BandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Complex<T>, SpanSlice<Complex<T>>)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, or y := alpha*AH*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.

BandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.

BandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, or y := alpha*AH*x + beta*y, where alpha and beta are scalars, x, incx and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.

BandSymmetricMultiplyAndAddInPlace(MatrixTriangle, Int32, Int32, T, Array2D<T>, ArraySlice<T>, T, ArraySlice<T>)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric band matrix, with k super-diagonals.

BandSymmetricMultiplyAndAddInPlace(MatrixTriangle, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric band matrix, with k super-diagonals.

BandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D<T>, ArraySlice<T>)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D<Complex<T>>, ArraySlice<Complex<T>>)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, or x := AH*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ReadOnlySpan2D<Complex<T>>, SpanSlice<Complex<T>>)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, or x := AH*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, or x := AH*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D<T>, ArraySlice<T>)

Solves one of the systems of equations A*x = b, or AT*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D<Complex<T>>, ArraySlice<Complex<T>>)

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ReadOnlySpan2D<Complex<T>>, SpanSlice<Complex<T>>)

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Solves one of the systems of equations A*x = b, or AT*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

BandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

ComplexOneNorm

Computes the sum of the absolute values of a complex number

ConjugateDotProduct(Int32, ArraySlice<T>, ArraySlice<T>) Returns the inner product of two vectors.
ConjugateDotProduct(Int32, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>)

Forms the dot product of a vector.

ConjugateDotProduct(Int32, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>)

Forms the dot product of a vector.

ConjugateDotProduct(Int32, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32) Returns the inner product of two vectors.
ConjugateDotProduct(Int32, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32)

Forms the dot product of a vector.

ConjugateRankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>) Performs a rank one update of a matrix.
ConjugateRankUpdate(Int32, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<T>>)

Performs the rank 1 operation A := alpha*x*y**H + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

ConjugateRankUpdate(Int32, Int32, Complex<T>, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Span2D<Complex<T>>)

Performs the rank 1 operation A := alpha*x*y**H + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

ConjugateRankUpdate(Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32) Performs a rank one update of a matrix.
ConjugateRankUpdate(Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs the rank 1 operation A := alpha*x*y**H + A, where alpha is a scalar, x, incx is an m element vector, y, incy is an n element vector and A is an m by n matrix.

Copy(Int32, ArraySlice<T>, ArraySlice<T>)

Copies a vector, x, to a vector, y.

Copy(Int32, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>)

Copies a vector, x, to a vector, y.

Copy(Int32, ReadOnlySpanSlice<Complex<T>>, SpanSlice<Complex<T>>)

Copies a vector, x, to a vector, y.

Copy(Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Copies a vector, x, to a vector, y.

Copy(Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Copies a vector, x, incx, to a vector, y, incy.

Copy(MatrixTriangle, Int32, Int32, Array2D<T>, Array2D<T>)

Copies all or part of a two-dimensional matrix A to another matrix B.

Copy(MatrixTriangle, Int32, Int32, Array2D<Complex<T>>, Array2D<Complex<T>>) Copies the specified elements of a complex matrix.
Copy(MatrixTriangle, Int32, Int32, ReadOnlySpan2D<Complex<T>>, Span2D<Complex<T>>) Copies the specified elements of a complex matrix.
Copy(MatrixTriangle, Int32, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Copies all or part of a two-dimensional matrix A to another matrix B.

Copy(MatrixTriangle, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32) Copies the specified elements of a complex matrix.
CreateGivensRotation(Complex<T>, Complex<T>, T, Complex<T>)

Determines a complex Givens rotation.

CreateGivensRotation(T, T, T, T)

Construct givens plane rotation.

CreateModifiedGivensRotation

THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS THE SECOND COMPONENT OF THE 2-VECTOR (DSQRT(DD1)*DX1,DSQRT(DD2)*> DY2)**T.

DotProduct(Int32, ArraySlice<T>, ArraySlice<T>)

Forms the dot product of two vectors.

DotProduct(Int32, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>)

Forms the dot product of two vectors.

DotProduct(Int32, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>)

Forms the dot product of two vectors.

DotProduct(Int32, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32)

Forms the dot product of two vectors.

DotProduct(Int32, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32)

Forms the dot product of two vectors.

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
FullMatrixNorm(MatrixNorm, Int32, Int32, Array2D<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 real matrix A.

FullMatrixNorm(MatrixNorm, Int32, Int32, Array2D<Complex<T>>) Computes the norm of a general rectangular matrix.
FullMatrixNorm(MatrixNorm, Int32, Int32, ReadOnlySpan2D<Complex<T>>) Computes the norm of a general rectangular matrix.
FullMatrixNorm(MatrixNorm, Int32, Int32, ReadOnlySpan<T>, Int32)

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

FullMatrixNorm(MatrixNorm, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a general rectangular matrix.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
HermitianBandMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Int32, ReadOnlySpan<T>, Int32) Computes the norm of a symmetric band matrix.
HermitianBandMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a symmetric band matrix.
HermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2D<T>) Computes the norm of a Hermitian matrix.
HermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2D<Complex<T>>) Computes the norm of a Hermitian matrix.
HermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, ReadOnlySpan2D<Complex<T>>) Computes the norm of a Hermitian matrix.
HermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, ReadOnlySpan<T>, Int32) Computes the norm of a Hermitian matrix.
HermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a Hermitian matrix.
HermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, T, Array2D<T>, ArraySlice<T>, T, ArraySlice<T>) Product of a hermitian matrix and a vector.
HermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, Complex<T>, Array2D<Complex<T>>, ArraySlice<Complex<T>>, Complex<T>, ArraySlice<Complex<T>>)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian matrix.

HermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Complex<T>, SpanSlice<Complex<T>>)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian matrix.

HermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, T, Array2D<T>, Array2D<T>, T, Array2D<T>) Sum of the product of a hermitian and a general matrix and a scaled matrix.
HermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>, Complex<T>, Array2D<Complex<T>>)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

HermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpan2D<Complex<T>>, Complex<T>, Span2D<Complex<T>>)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

HermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32) Product of a hermitian matrix and a vector.
HermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x, incx and y are n element vectors and A is an n by n hermitian matrix.

HermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32) Sum of the product of a hermitian and a general matrix and a scaled matrix.
HermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

HermitianRankUpdate(MatrixTriangle, Int32, T, ArraySlice<T>, Array2D<T>) Performs a rank one update of a hermitian.
HermitianRankUpdate(MatrixTriangle, Int32, T, ArraySlice<Complex<T>>, Array2D<Complex<T>>)

Performs the hermitian rank 1 operation A := alpha*x*x**H + A, where alpha is a real scalar, x is an n element vector and A is an n by n hermitian matrix.

HermitianRankUpdate(MatrixTriangle, Int32, T, ReadOnlySpanSlice<Complex<T>>, Span2D<Complex<T>>)

Performs the hermitian rank 1 operation A := alpha*x*x**H + A, where alpha is a real scalar, x is an n element vector and A is an n by n hermitian matrix.

HermitianRankUpdate(MatrixTriangle, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>) Performs a hermitian rank two update of a hermitian matrix.
HermitianRankUpdate(MatrixTriangle, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<T>>)

Performs the hermitian rank 2 operation A := alpha*x*y**H + conjg( alpha )*y*x**H + A, where alpha is a scalar, x and y are n element vectors and A is an n by n hermitian matrix.

HermitianRankUpdate(MatrixTriangle, Int32, Complex<T>, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Span2D<Complex<T>>)

Performs the hermitian rank 2 operation A := alpha*x*y**H + conjg( alpha )*y*x**H + A, where alpha is a scalar, x and y are n element vectors and A is an n by n hermitian matrix.

HermitianRankUpdate(MatrixTriangle, Int32, T, ReadOnlySpan<T>, Int32, Span<T>, Int32) Performs a rank one update of a hermitian.
HermitianRankUpdate(MatrixTriangle, Int32, T, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs the hermitian rank 1 operation A := alpha*x*x**H + A, where alpha is a real scalar, x, incx is an n element vector and A is an n by n hermitian matrix.

HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D<T>, T, Array2D<T>) Performs a rank k update of a hermitian matrix.
HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D<Complex<T>>, T, Array2D<Complex<T>>)

Performs one of the hermitian rank k operations C := alpha*A*AH + beta*C, or C := alpha*AH*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, ReadOnlySpan2D<Complex<T>>, T, Span2D<Complex<T>>)

Performs one of the hermitian rank k operations C := alpha*A*AH + beta*C, or C := alpha*AH*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D<T>, Array2D<T>, T, Array2D<T>) Performs a rank 2k update of a hermitian matrix.
HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>, T, Array2D<Complex<T>>)

Performs one of the hermitian rank 2k operations C := alpha*A*BH + conjg( alpha )*B*AH + beta*C, or C := alpha*AH*B + conjg( alpha )*BH*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpan2D<Complex<T>>, T, Span2D<Complex<T>>)

Performs one of the hermitian rank 2k operations C := alpha*A*BH + conjg( alpha )*B*AH + beta*C, or C := alpha*AH*B + conjg( alpha )*BH*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

HermitianRankUpdate(MatrixTriangle, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32) Performs a hermitian rank two update of a hermitian matrix.
HermitianRankUpdate(MatrixTriangle, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs the hermitian rank 2 operation A := alpha*x*y**H + conjg( alpha )*y*x**H + A, where alpha is a scalar, x, incx and y are n element vectors and A is an n by n hermitian matrix.

HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, ReadOnlySpan<T>, Int32, T, Span<T>, Int32) Performs a rank k update of a hermitian matrix.
HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, ReadOnlySpan<Complex<T>>, Int32, T, Span<Complex<T>>, Int32)

Performs one of the hermitian rank k operations C := alpha*A*AH + beta*C, or C := alpha*AH*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32) Performs a rank 2k update of a hermitian matrix.
HermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, T, Span<Complex<T>>, Int32)

Performs one of the hermitian rank 2k operations C := alpha*A*BH + conjg( alpha )*B*AH + beta*C, or C := alpha*AH*B + conjg( alpha )*BH*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
MultiplyAndAddInPlace(Int32, T, ArraySlice<T>, ArraySlice<T>)

Constant times a vector plus a vector.

MultiplyAndAddInPlace(Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>)

Constant times a vector plus a vector.

MultiplyAndAddInPlace(Int32, Complex<T>, ReadOnlySpanSlice<Complex<T>>, SpanSlice<Complex<T>>)

Constant times a vector plus a vector.

MultiplyAndAddInPlace(Int32, T, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Constant times a vector plus a vector.

MultiplyAndAddInPlace(Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Constant times a vector plus a vector.

MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, T, Array2D<T>, ArraySlice<T>, T, ArraySlice<T>)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Complex<T>, Array2D<Complex<T>>, ArraySlice<Complex<T>>, Complex<T>, ArraySlice<Complex<T>>)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, or y := alpha*AH*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Complex<T>, SpanSlice<Complex<T>>)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, or y := alpha*AH*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, T, Array2D<T>, Array2D<T>, T, Array2D<T>)

Performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = XT, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>, Complex<T>, Array2D<Complex<T>>)

Performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = XT or op( X ) = XH, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpan2D<Complex<T>>, Complex<T>, Span2D<Complex<T>>)

Performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = XT or op( X ) = XH, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, or y := alpha*AH*x + beta*y, where alpha and beta are scalars, x, incx and y are vectors and A is an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = XT, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

MultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = XT or op( X ) = XH, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

MultiplyInPlace(Int32, T, ArraySlice<T>)

Scales a vector by a constant.

MultiplyInPlace(Int32, T, ArraySlice<Complex<T>>)

Scales a vector by a constant.

MultiplyInPlace(Int32, T, SpanSlice<Complex<T>>)

Scales a vector by a constant.

MultiplyInPlace(Int32, Complex<T>, ArraySlice<Complex<T>>)

Scales a vector by a constant.

MultiplyInPlace(Int32, Complex<T>, SpanSlice<Complex<T>>)

Scales a vector by a constant.

MultiplyInPlace(Int32, T, Span<T>, Int32)

Scales a vector by a constant.

MultiplyInPlace(Int32, T, Span<Complex<T>>, Int32)

Scales a vector by a constant.

MultiplyInPlace(Int32, Complex<T>, Span<Complex<T>>, Int32)

Scales a vector by a constant.

OneNorm(Int32, ArraySlice<T>)

Takes the sum of the absolute values.

OneNorm(Int32, ReadOnlySpan<T>, Int32)

Takes the sum of the absolute values.

RankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>)

Performs the rank 1 operation A := alpha*x*y**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

RankUpdate(Int32, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<T>>)

Performs the rank 1 operation A := alpha*x*y**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

RankUpdate(Int32, Int32, Complex<T>, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Span2D<Complex<T>>)

Performs the rank 1 operation A := alpha*x*y**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

RankUpdate(Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Performs the rank 1 operation A := alpha*x*y**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

RankUpdate(Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs the rank 1 operation A := alpha*x*y**T + A, where alpha is a scalar, x, incx is an m element vector, y, incy is an n element vector and A is an m by n matrix.

RealOneNorm(Int32, ArraySlice<T>) Returns the sum of the absolute values of the elements of a vector.
RealOneNorm(Int32, ArraySlice<Complex<T>>)

Takes the sum of the absolute values.

RealOneNorm(Int32, ReadOnlySpanSlice<Complex<T>>)

Takes the sum of the absolute values.

RealOneNorm(Int32, ReadOnlySpan<T>, Int32) Returns the sum of the absolute values of the elements of a vector.
RealOneNorm(Int32, ReadOnlySpan<Complex<T>>, Int32)

Takes the sum of the absolute values.

Rotate(Int32, ArraySlice<T>, ArraySlice<T>, T, T)

Applies a plane rotation.

Rotate(Int32, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, T, T)

A plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex.

Rotate(Int32, SpanSlice<Complex<T>>, SpanSlice<Complex<T>>, T, T)

A plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex.

Rotate(Int32, Span<T>, Int32, Span<T>, Int32, T, T)

Applies a plane rotation.

Rotate(Int32, Span<Complex<T>>, Int32, Span<Complex<T>>, Int32, T, T)

A plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex.

Swap(Int32, ArraySlice<T>, ArraySlice<T>)

Swaps the elements of two vectors.

Swap(Int32, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>)

Interchanges two vectors.

Swap(Int32, SpanSlice<Complex<T>>, SpanSlice<Complex<T>>)

Interchanges two vectors.

Swap(Int32, Span<T>, Int32, Span<T>, Int32)

Swaps the elements of two vectors.

Swap(Int32, Span<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Interchanges two vectors.

SymmetricBandMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Int32, ReadOnlySpan<T>, Int32) Computes the norm of a symmetric band matrix.
SymmetricBandMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a symmetric band matrix.
SymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2D<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 real symmetric matrix A.

SymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2D<Complex<T>>) Computes the norm of a symmetric matrix.
SymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, ReadOnlySpan2D<Complex<T>>) Computes the norm of a symmetric matrix.
SymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, ReadOnlySpan<T>, Int32)

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

SymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a symmetric matrix.
SymmetricMultiplyAndAddInPlace(MatrixTriangle, Int32, T, Array2D<T>, ArraySlice<T>, T, ArraySlice<T>)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix.

SymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, T, Array2D<T>, Array2D<T>, T, Array2D<T>)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.

SymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>, Complex<T>, Array2D<Complex<T>>)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.

SymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpan2D<Complex<T>>, Complex<T>, Span2D<Complex<T>>)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.

SymmetricMultiplyAndAddInPlace(MatrixTriangle, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix.

SymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.

SymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.

SymmetricRankUpdate(MatrixTriangle, Int32, T, ArraySlice<T>, Array2D<T>)

Performs the symmetric rank 1 operation A := alpha*x*x**T + A, where alpha is a real scalar, x is an n element vector and A is an n by n symmetric matrix.

SymmetricRankUpdate(MatrixTriangle, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>)

Performs the symmetric rank 2 operation A := alpha*x*y**T + alpha*y*x**T + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix.

SymmetricRankUpdate(MatrixTriangle, Int32, T, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Performs the symmetric rank 1 operation A := alpha*x*x**T + A, where alpha is a real scalar, x is an n element vector and A is an n by n symmetric matrix.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D<T>, T, Array2D<T>)

Performs one of the symmetric rank k operations C := alpha*A*AT + beta*C, or C := alpha*AT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Complex<T>, Array2D<Complex<T>>)

Performs one of the symmetric rank k operations C := alpha*A*AT + beta*C, or C := alpha*AT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, Complex<T>, Span2D<Complex<T>>)

Performs one of the symmetric rank k operations C := alpha*A*AT + beta*C, or C := alpha*AT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D<T>, Array2D<T>, T, Array2D<T>)

Performs one of the symmetric rank 2k operations C := alpha*A*BT + alpha*B*AT + beta*C, or C := alpha*AT*B + alpha*BT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>, Complex<T>, Array2D<Complex<T>>)

Performs one of the symmetric rank 2k operations C := alpha*A*BT + alpha*B*AT + beta*C, or C := alpha*AT*B + alpha*BT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, ReadOnlySpan2D<Complex<T>>, Complex<T>, Span2D<Complex<T>>)

Performs one of the symmetric rank 2k operations C := alpha*A*BT + alpha*B*AT + beta*C, or C := alpha*AT*B + alpha*BT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

SymmetricRankUpdate(MatrixTriangle, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Performs the symmetric rank 2 operation A := alpha*x*y**T + alpha*y*x**T + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs one of the symmetric rank k operations C := alpha*A*AT + beta*C, or C := alpha*AT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the symmetric rank k operations C := alpha*A*AT + beta*C, or C := alpha*AT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, T, Span<T>, Int32)

Performs one of the symmetric rank 2k operations C := alpha*A*BT + alpha*B*AT + beta*C, or C := alpha*AT*B + alpha*BT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

SymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Complex<T>, Span<Complex<T>>, Int32)

Performs one of the symmetric rank 2k operations C := alpha*A*BT + alpha*B*AT + beta*C, or C := alpha*AT*B + alpha*BT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

ToStringReturns a string that represents the current object.
(Inherited from Object)
TriangularBandMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan<T>, Int32) Computes the norm of a triangular band matrix.
TriangularBandMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a triangular band matrix.
TriangularMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, Array2D<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(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, Array2D<Complex<T>>) Computes the norm of a triangular matrix.
TriangularMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan2D<Complex<T>>) Computes the norm of a triangular matrix.
TriangularMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan<T>, Int32)

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(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, ReadOnlySpan<Complex<T>>, Int32) Computes the norm of a triangular matrix.
TriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D<T>, ArraySlice<T>)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D<Complex<T>>, ArraySlice<Complex<T>>)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, or x := AH*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, ReadOnlySpan2D<Complex<T>>, SpanSlice<Complex<T>>)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, or x := AH*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs one of the matrix-vector operations x := A*x, or x := AT*x, or x := AH*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, Array2D<T>, Array2D<T>)

Performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ), where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT.

TriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>)

Performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ) where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

TriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, Span2D<Complex<T>>)

Performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ) where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

TriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ), where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT.

TriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ) where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

TriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D<T>, ArraySlice<T>)

Solves one of the systems of equations A*x = b, or AT*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D<Complex<T>>, ArraySlice<Complex<T>>)

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, ReadOnlySpan2D<Complex<T>>, SpanSlice<Complex<T>>)

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Solves one of the systems of equations A*x = b, or AT*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.

TriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, Array2D<T>, Array2D<T>)

Solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT.

TriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex<T>, Array2D<Complex<T>>, Array2D<Complex<T>>)

Solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

TriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex<T>, ReadOnlySpan2D<Complex<T>>, Span2D<Complex<T>>)

Solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

TriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, ReadOnlySpan<T>, Int32, Span<T>, Int32)

Solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT.

TriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

TwoNorm(Int32, ArraySlice<T>)

            Returns the euclidean norm of a vector via the function
            name, so that
               DNRM2 := sqrt( x'*x )
            

TwoNorm(Int32, ArraySlice<Complex<T>>)

            Returns the euclidean norm of a vector via the function
            name, so that
               DZNRM2 := sqrt( x**H*x )
            

TwoNorm(Int32, ReadOnlySpanSlice<Complex<T>>)

            Returns the euclidean norm of a vector via the function
            name, so that
               DZNRM2 := sqrt( x**H*x )
            

TwoNorm(Int32, ReadOnlySpan<T>, Int32)

            Returns the euclidean norm of a vector via the function
            name, so that
               DNRM2 := sqrt( x'*x )
            

TwoNorm(Int32, ReadOnlySpan<Complex<T>>, Int32)

            Returns the euclidean norm of a vector via the function
            name, so that
               DZNRM2 := sqrt( x**H*x )
            

Extension Methods

AbsoluteMaxIndex<T>

Finds the index of element having max.


(Defined by LinearAlgebraOperationsExtensions)
AbsoluteMaxIndex<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
AbsoluteMaxIndex<T, TStorage> Returns the index of the element of a vector with maximum absolute value.
(Defined by LinearAlgebraOperationsExtensions)
AbsoluteMaxIndex<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
BandMultiplyAndAddInPlace<T>

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.


(Defined by LinearAlgebraOperationsExtensions)
BandMultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
BandMultiplyAndAddInPlace<T, TStorage, TStorage2D> Sum of the product of a general band matrix and vector and a scaled vector.
(Defined by LinearAlgebraOperationsExtensions)
BandMultiplyAndAddInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
BandSymmetricMultiplyAndAddInPlace<T>

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric band matrix, with k super-diagonals.


(Defined by LinearAlgebraOperationsExtensions)
BandSymmetricMultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
BandSymmetricMultiplyAndAddInPlace<T, TStorage, TStorage2D> Product of a symmetric band matrix and a vector.
(Defined by LinearAlgebraOperationsExtensions)
BandSymmetricMultiplyAndAddInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
BandTriangularMultiplyInPlace<T>

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.


(Defined by LinearAlgebraOperationsExtensions)
BandTriangularMultiplyInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
BandTriangularMultiplyInPlace<T, TStorage, TStorage2D> Product of a triangular band matrix and a vector.
(Defined by LinearAlgebraOperationsExtensions)
BandTriangularMultiplyInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
BandTriangularSolveInPlace<T>

Solves one of the systems of equations A*x = b, or AT*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.


(Defined by LinearAlgebraOperationsExtensions)
BandTriangularSolveInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
BandTriangularSolveInPlace<T, TStorage, TStorage2D> Solves a triangular band system of equations.
(Defined by LinearAlgebraOperationsExtensions)
BandTriangularSolveInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
ConjugateDotProduct<T> Returns the inner product of two vectors.
(Defined by LinearAlgebraOperationsExtensions)
ConjugateDotProduct<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
ConjugateDotProduct<T, TStorage> Returns the inner product of two vectors.
(Defined by LinearAlgebraOperationsExtensions)
ConjugateDotProduct<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
ConjugateRankUpdate<T> Performs a rank one update of a matrix.
(Defined by LinearAlgebraOperationsExtensions)
ConjugateRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
ConjugateRankUpdate<T, TStorage, TStorage2D> Performs a rank one update of a matrix.
(Defined by LinearAlgebraOperationsExtensions)
ConjugateRankUpdate<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
Copy<T>

Copies a vector, x, to a vector, y.


(Defined by LinearAlgebraOperationsExtensions)
Copy<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
Copy<T>

Copies all or part of a two-dimensional matrix A to another matrix B.


(Defined by LinearAlgebraOperationsExtensions)
Copy<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
Copy<T, TStorage> Copies a vector.
(Defined by LinearAlgebraOperationsExtensions)
Copy<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
Copy<T, TStorage2D> Copies part of a matrix to another.
(Defined by LinearAlgebraOperationsExtensions)
Copy<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
DotProduct<T>

Forms the dot product of two vectors.


(Defined by LinearAlgebraOperationsExtensions)
DotProduct<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
DotProduct<T, TStorage> Returns the inner product of two vectors.
(Defined by LinearAlgebraOperationsExtensions)
DotProduct<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
FullMatrixNorm<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 real matrix A.


(Defined by LinearAlgebraOperationsExtensions)
FullMatrixNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
FullMatrixNorm<T, TStorage2D> Computes the norm of a general rectangular matrix.
(Defined by LinearAlgebraOperationsExtensions)
FullMatrixNorm<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianMatrixNorm<T> Computes the norm of a Hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianMatrixNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianMatrixNorm<T, TStorage2D> Computes the norm of a Hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianMatrixNorm<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<T> Product of a hermitian matrix and a vector.
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<T> Sum of the product of a hermitian and a general matrix and a scaled matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<T, TStorage2D> Sum of the product of a hermitian and a general matrix and a scaled matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<T, TStorage, TStorage2D> Product of a hermitian matrix and a vector.
(Defined by LinearAlgebraOperationsExtensions)
HermitianMultiplyAndAddInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T> Performs a rank one update of a hermitian.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T> Performs a hermitian rank two update of a hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T> Performs a rank k update of a hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T> Performs a rank 2k update of a hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T, TStorage2D> Performs a rank k update of a hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T, TStorage2D> Performs a rank 2k update of a hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T, TStorage, TStorage2D> Performs a rank one update of a hermitian.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<T, TStorage, TStorage2D> Performs a hermitian rank two update of a hermitian matrix.
(Defined by LinearAlgebraOperationsExtensions)
HermitianRankUpdate<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<T>

Constant times a vector plus a vector.


(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<T>

Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*AT*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.


(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<T>

Performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = XT, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.


(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<T, TStorage> Evaluates a vector plus the product of a scalar and a vector
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<T, TStorage2D> Sum of the product of two general matrices and a scaled matrix.
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<T, TStorage, TStorage2D> Sum of the product of a general matrix and vector and a scaled vector.
(Defined by LinearAlgebraOperationsExtensions)
MultiplyAndAddInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyInPlace<T>

Scales a vector by a constant.


(Defined by LinearAlgebraOperationsExtensions)
MultiplyInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
MultiplyInPlace<T, TStorage> Evaluates the product of a scalar and a vector.
(Defined by LinearAlgebraOperationsExtensions)
MultiplyInPlace<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
OneNorm<T>

Takes the sum of the absolute values.


(Defined by LinearAlgebraOperationsExtensions)
OneNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
OneNorm<T, TStorage> Returns the sum of the absolute values of the elements of a vector.
(Defined by LinearAlgebraOperationsExtensions)
OneNorm<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
RankUpdate<T>

Performs the rank 1 operation A := alpha*x*y**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.


(Defined by LinearAlgebraOperationsExtensions)
RankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
RankUpdate<T, TStorage, TStorage2D> Performs a rank one update of a matrix.
(Defined by LinearAlgebraOperationsExtensions)
RankUpdate<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
RealOneNorm<T> Returns the sum of the absolute values of the elements of a vector.
(Defined by LinearAlgebraOperationsExtensions)
RealOneNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
RealOneNorm<T, TStorage> Returns the sum of the absolute values of the elements of a vector.
(Defined by LinearAlgebraOperationsExtensions)
RealOneNorm<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
Rotate<T>

Applies a plane rotation.


(Defined by LinearAlgebraOperationsExtensions)
Rotate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
Rotate<T, TStorage> Applies a Givens plane rotation.
(Defined by LinearAlgebraOperationsExtensions)
Rotate<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
Swap<T>

Swaps the elements of two vectors.


(Defined by LinearAlgebraOperationsExtensions)
Swap<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
Swap<T, TStorage> Exchanges the elements of two vectors.
(Defined by LinearAlgebraOperationsExtensions)
Swap<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMatrixNorm<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 real symmetric matrix A.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricMatrixNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMatrixNorm<T, TStorage2D> Computes the norm of a symmetric matrix.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMatrixNorm<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<T>

Performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<T>

Performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<T, TStorage2D> Sum of the product of a symmetric and a general matrix and a scaled matrix.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<T, TStorage, TStorage2D> Product of a symmetric matrix and a vector.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricMultiplyAndAddInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T>

Performs the symmetric rank 1 operation A := alpha*x*x**T + A, where alpha is a real scalar, x is an n element vector and A is an n by n symmetric matrix.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T>

Performs the symmetric rank 2 operation A := alpha*x*y**T + alpha*y*x**T + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T>

Performs one of the symmetric rank k operations C := alpha*A*AT + beta*C, or C := alpha*AT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T>

Performs one of the symmetric rank 2k operations C := alpha*A*BT + alpha*B*AT + beta*C, or C := alpha*AT*B + alpha*BT*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.


(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T, TStorage2D> Performs a rank k update of a symmetric matrix.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T, TStorage2D> Performs a rank k update of a symmetric matrix.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T, TStorage, TStorage2D> Performs a rank one update of a symmetric matrix.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<T, TStorage, TStorage2D> Performs a symmetric rank two update of a symmetric matrix.
(Defined by LinearAlgebraOperationsExtensions)
SymmetricRankUpdate<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
TriangularMatrixNorm<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.


(Defined by LinearAlgebraOperationsExtensions)
TriangularMatrixNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
TriangularMatrixNorm<T, TStorage2D> Computes the norm of a triangular matrix.
(Defined by LinearAlgebraOperationsExtensions)
TriangularMatrixNorm<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<T>

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.


(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<T>

Performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ), where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT.


(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<T, TStorage2D> Product of a triangular and a general matrix.
(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<T, TStorage, TStorage2D> Product of a triangular matrix and a vector.
(Defined by LinearAlgebraOperationsExtensions)
TriangularMultiplyInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<T>

Solves one of the systems of equations A*x = b, or AT*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.


(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<T>

Solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT.


(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<T, TStorage2D> Solution of a triangular linear system with multiple right-hand sides.
(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<Complex<T>, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<T, TStorage, TStorage2D> Solves a triangular system of equations.
(Defined by LinearAlgebraOperationsExtensions)
TriangularSolveInPlace<Complex<T>, TStorage, TStorage2D>
(Defined by LinearAlgebraOperationsExtensions)
TwoNorm<T>

            Returns the euclidean norm of a vector via the function
            name, so that
               DNRM2 := sqrt( x'*x )
            


(Defined by LinearAlgebraOperationsExtensions)
TwoNorm<Complex<T>>
(Defined by LinearAlgebraOperationsExtensions)
TwoNorm<T, TStorage> Returns the square root of sum of the squares of the elements of a vector.
(Defined by LinearAlgebraOperationsExtensions)
TwoNorm<Complex<T>, TStorage>
(Defined by LinearAlgebraOperationsExtensions)

See Also