Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.LinearAlgebra.Implementation
    • DecompositionOperations(T) Class
    • DecompositionOperations(TReal, TComplex) Class
    • GenericDecompositionOperations(T) Class
    • GenericLinearAlgebraOperations(T) Class
    • GenericSparseLinearAlgebraOperations(T) Class
    • IArrayFunctions(T, TShape, TArray) Interface
    • ILinearAlgebraOperations(T) Interface
    • ILinearAlgebraOperations(T, TVector, TMatrix) Interface
    • ISparseLinearAlgebraOperations(T) Interface
    • IVectorFunctions(T) Interface
    • LinearAlgebraOperations(T) Class
    • ManagedArrayFunctions Class
    • ManagedArrayFunctions(T) Class
    • ManagedArrayFunctionsOfSingle Class
    • ManagedLapack Class
    • ManagedLapackOfSingle Class
    • ManagedLinearAlgebraOperations Class
    • ManagedLinearAlgebraOperationsOfSingle Class
    • ManagedSparseLinearAlgebraOperations Class
    • ManagedSparseLinearAlgebraOperationsOfSingle Class
    • SparseLinearAlgebraOperations Class
    • SparseLinearAlgebraOperations(T) Class
    • SparseLinearAlgebraOperationsOfSingle Class
  • LinearAlgebraOperations(T) Class
    • LinearAlgebraOperations(T) Constructor
    • Properties
    • Methods
LinearAlgebraOperationsT ClassExtreme Optimization Numerical Libraries for .NET Professional
Implements the BLAS (Basic Linear Algebra Subroutines) for generic element types.
Inheritance Hierarchy

SystemObject
  Extreme.Mathematics.LinearAlgebra.ImplementationLinearAlgebraOperationsT
    Extreme.Mathematics.LinearAlgebra.ImplementationGenericLinearAlgebraOperationsT
    Extreme.Mathematics.LinearAlgebra.ImplementationManagedLinearAlgebraOperations
    Extreme.Mathematics.LinearAlgebra.ImplementationManagedLinearAlgebraOperationsOfSingle

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
public abstract class LinearAlgebraOperations<T> : ILinearAlgebraOperations<T>, 
	IImplementation, IParallelized, ILinearAlgebraOperations<Complex<T>>
Public MustInherit Class LinearAlgebraOperations(Of T)
	Implements ILinearAlgebraOperations(Of T), IImplementation, IParallelized, 
	ILinearAlgebraOperations(Of Complex(Of T))
generic<typename T>
public ref class LinearAlgebraOperations abstract : ILinearAlgebraOperations<T>, 
	IImplementation, IParallelized, ILinearAlgebraOperations<Complex<T>>
[<AbstractClassAttribute>]
type LinearAlgebraOperations<'T> =  
    class
        interface ILinearAlgebraOperations<'T>
        interface IImplementation
        interface IParallelized
        interface ILinearAlgebraOperations<Complex<'T>>
    end

Type Parameters

T
The element type of the arrays.

The LinearAlgebraOperationsT type exposes the following members.

Constructors

  NameDescription
Protected methodLinearAlgebraOperationsT
Initializes a new instance of the LinearAlgebraOperationsT class
Top
Properties

  NameDescription
Public propertyHasSharedDegreeOfParallelism
Indicates whether the degree of parallelism is a property that is shared across instances.
Public propertyMaxDegreeOfParallelism
Gets or sets the maximum degree of parallelism enabled by the instance.
Public propertyName
Gets the name of the implementation.
Public propertyPlatform
Gets the processor architecture supported by the implementation.
Top
Methods

  NameDescription
Public methodAbsoluteMaxIndex(Int32, ArraySliceComplexT)

Finds the index of element having max.

Public methodAbsoluteMaxIndex(Int32, ArraySliceT)

Finds the index of element having max.

Public methodApplyModifiedGivensRotation

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

Public methodBandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, ComplexT, Array2DComplexT, ArraySliceComplexT, ComplexT, ArraySliceComplexT)

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.

Public methodBandMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Int32, T, Array2DT, ArraySliceT, T, ArraySliceT)

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.

Public methodBandSymmetricMultiplyAndAddInPlace

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.

Public methodBandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DComplexT, ArraySliceComplexT)

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.

Public methodBandTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DT, ArraySliceT)

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.

Public methodBandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DComplexT, ArraySliceComplexT)

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.

Public methodBandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DT, ArraySliceT)

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.

Public methodComplexOneNorm

Computes the sum of the absolute values of a complex number

Public methodConjugateDotProduct(Int32, ArraySliceComplexT, ArraySliceComplexT)

Forms the dot product of a vector.

Public methodConjugateDotProduct(Int32, ArraySliceT, ArraySliceT)
Returns the inner product of two vectors.
Public methodConjugateRankUpdate(Int32, Int32, ComplexT, ArraySliceComplexT, ArraySliceComplexT, Array2DComplexT)

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.

Public methodConjugateRankUpdate(Int32, Int32, T, ArraySliceT, ArraySliceT, Array2DT)
Performs a rank one update of a matrix.
Public methodCopy(Int32, ArraySliceComplexT, ArraySliceComplexT)

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

Public methodCopy(Int32, ArraySliceT, ArraySliceT)

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

Public methodCopy(MatrixTriangle, Int32, Int32, Array2DComplexT, Array2DComplexT)
Copies the specified elements of a complex matrix.
Public methodCopy(MatrixTriangle, Int32, Int32, Array2DT, Array2DT)

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

Public methodCreateGivensRotation(T, T, T, T)

Construct givens plane rotation.

Public methodCreateGivensRotation(ComplexT, ComplexT, T, ComplexT)

Determines a complex Givens rotation.

Public methodCreateModifiedGivensRotation

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

Public methodDotProduct(Int32, ArraySliceComplexT, ArraySliceComplexT)

Forms the dot product of two vectors.

Public methodDotProduct(Int32, ArraySliceT, ArraySliceT)

Forms the dot product of two vectors.

Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFullMatrixNorm(MatrixNorm, Int32, Int32, Array2DComplexT)
Computes the norm of a general rectangular matrix.
Public methodFullMatrixNorm(MatrixNorm, Int32, Int32, Array2DT)

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.

Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2DComplexT)
Computes the norm of a Hermitian matrix.
Public methodHermitianMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2DT)
Computes the norm of a Hermitian matrix.
Public methodHermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, ComplexT, Array2DComplexT, ArraySliceComplexT, ComplexT, ArraySliceComplexT)

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.

Public methodHermitianMultiplyAndAddInPlace(MatrixTriangle, Int32, T, Array2DT, ArraySliceT, T, ArraySliceT)
Product of a hermitian matrix and a vector.
Public methodHermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT, ComplexT, Array2DComplexT)

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.

Public methodHermitianMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, T, Array2DT, Array2DT, T, Array2DT)
Sum of the product of a hermitian and a general matrix and a scaled matrix.
Public methodHermitianRankUpdate(MatrixTriangle, Int32, T, ArraySliceComplexT, Array2DComplexT)

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.

Public methodHermitianRankUpdate(MatrixTriangle, Int32, T, ArraySliceT, Array2DT)
Performs a rank one update of a hermitian.
Public methodHermitianRankUpdate(MatrixTriangle, Int32, ComplexT, ArraySliceComplexT, ArraySliceComplexT, Array2DComplexT)

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.

Public methodHermitianRankUpdate(MatrixTriangle, Int32, T, ArraySliceT, ArraySliceT, Array2DT)
Performs a hermitian rank two update of a hermitian matrix.
Public methodHermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DComplexT, T, Array2DComplexT)

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.

Public methodHermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DT, T, Array2DT)
Performs a rank k update of a hermitian matrix.
Public methodHermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT, T, Array2DComplexT)

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.

Public methodHermitianRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DT, Array2DT, T, Array2DT)
Performs a rank 2k update of a hermitian matrix.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMultiplyAndAddInPlace(Int32, ComplexT, ArraySliceComplexT, ArraySliceComplexT)

Constant times a vector plus a vector.

Public methodMultiplyAndAddInPlace(Int32, T, ArraySliceT, ArraySliceT)

Constant times a vector plus a vector.

Public methodMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, ComplexT, Array2DComplexT, ArraySliceComplexT, ComplexT, ArraySliceComplexT)

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.

Public methodMultiplyAndAddInPlace(TransposeOperation, Int32, Int32, T, Array2DT, ArraySliceT, T, ArraySliceT)

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.

Public methodMultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT, ComplexT, Array2DComplexT)

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.

Public methodMultiplyAndAddInPlace(TransposeOperation, TransposeOperation, Int32, Int32, Int32, T, Array2DT, Array2DT, T, Array2DT)

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.

Public methodMultiplyInPlace(Int32, ComplexT, ArraySliceComplexT)

Scales a vector by a constant.

Public methodMultiplyInPlace(Int32, T, ArraySliceComplexT)

Scales a vector by a constant.

Public methodMultiplyInPlace(Int32, T, ArraySliceT)

Scales a vector by a constant.

Public methodOneNorm

Takes the sum of the absolute values.

Public methodRankUpdate(Int32, Int32, ComplexT, ArraySliceComplexT, ArraySliceComplexT, Array2DComplexT)

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.

Public methodRankUpdate(Int32, Int32, T, ArraySliceT, ArraySliceT, Array2DT)

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.

Public methodRealOneNorm(Int32, ArraySliceComplexT)

Takes the sum of the absolute values.

Public methodRealOneNorm(Int32, ArraySliceT)
Returns the sum of the absolute values of the elements of a vector.
Public methodRotate(Int32, ArraySliceComplexT, ArraySliceComplexT, T, T)

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

Public methodRotate(Int32, ArraySliceT, ArraySliceT, T, T)

Applies a plane rotation.

Public methodSwap(Int32, ArraySliceComplexT, ArraySliceComplexT)

Interchanges two vectors.

Public methodSwap(Int32, ArraySliceT, ArraySliceT)

Swaps the elements of two vectors.

Public methodSymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2DComplexT)
Computes the norm of a symmetric matrix.
Public methodSymmetricMatrixNorm(MatrixNorm, MatrixTriangle, Int32, Array2DT)

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.

Public methodSymmetricMultiplyAndAddInPlace(MatrixTriangle, Int32, T, Array2DT, ArraySliceT, T, ArraySliceT)

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.

Public methodSymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT, ComplexT, Array2DComplexT)

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.

Public methodSymmetricMultiplyAndAddInPlace(MatrixOperationSide, MatrixTriangle, Int32, Int32, T, Array2DT, Array2DT, T, Array2DT)

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.

Public methodSymmetricRankUpdate(MatrixTriangle, Int32, T, ArraySliceT, Array2DT)

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.

Public methodSymmetricRankUpdate(MatrixTriangle, Int32, T, ArraySliceT, ArraySliceT, Array2DT)

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.

Public methodSymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, ComplexT, Array2DComplexT, ComplexT, Array2DComplexT)

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.

Public methodSymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DT, T, Array2DT)

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.

Public methodSymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT, ComplexT, Array2DComplexT)

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.

Public methodSymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DT, Array2DT, T, Array2DT)

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.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTriangularMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, Array2DComplexT)
Computes the norm of a triangular matrix.
Public methodTriangularMatrixNorm(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Int32, Array2DT)

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.

Public methodTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2DComplexT, ArraySliceComplexT)

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.

Public methodTriangularMultiplyInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2DT, ArraySliceT)

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.

Public methodTriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT)

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.

Public methodTriangularMultiplyInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, Array2DT, Array2DT)

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.

Public methodTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2DComplexT, ArraySliceComplexT)

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.

Public methodTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2DT, ArraySliceT)

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.

Public methodTriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT)

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.

Public methodTriangularSolveInPlace(MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, Array2DT, Array2DT)

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.

Public methodTwoNorm(Int32, ArraySliceComplexT)

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

Public methodTwoNorm(Int32, ArraySliceT)

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

Top
Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

Extreme.Mathematics.LinearAlgebra.Implementation Namespace

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.