Click or drag to resize

ILinearAlgebraProvider Interface

Interface to linear algebra algorithms that work off 1-D arrays.

Namespace: Altaxo.Calc.Providers.LinearAlgebra
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3261.0 (4.8.3261.0)
Syntax
C#
public interface ILinearAlgebraProvider : ILinearAlgebraProvider<double>, 
	ILinearAlgebraProvider<float>, ILinearAlgebraProvider<Complex>, ILinearAlgebraProvider<Complex32>

The ILinearAlgebraProvider type exposes the following members.

Methods
 NameDescription
Public methodAddArrays(T[], T[], T[]) Does a point wise add of two arrays z = x + y. This can be used to add vectors or matrices.
(Inherited from ILinearAlgebraProvider<T>)
Public methodAddVectorToScaledVector(T[], T, T[], T[]) Adds a scaled vector to another: result = y + alpha*x.
(Inherited from ILinearAlgebraProvider<T>)
Public methodCholeskyFactor(T[], Int32) Computes the Cholesky factorization of A.
(Inherited from ILinearAlgebraProvider<T>)
Public methodCholeskySolve(T[], Int32, T[], Int32) Solves A*X=B for X using Cholesky factorization.
(Inherited from ILinearAlgebraProvider<T>)
Public methodCholeskySolveFactored(T[], Int32, T[], Int32) Solves A*X=B for X using a previously factored A matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodConjugateArray(T[], T[]) Conjugates an array. Can be used to conjugate a vector and a matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodDotProduct(T[], T[]) Computes the dot product of x and y.
(Inherited from ILinearAlgebraProvider<T>)
Public methodEigenDecomp(Boolean, Int32, T[], T[], Complex[], T[]) Computes the eigenvalues and eigenvectors of a matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodFreeResources Frees memory buffers, caches and handles allocated in or to the provider. Does not unload the provider itself, it is still usable afterwards.
Public methodInitializeVerify Initialize and verify that the provided is indeed available. If not, fall back to alternatives like the managed provider
Public methodIsAvailable Try to find out whether the provider is available, at least in principle. Verification may still fail if available, but it will certainly fail if unavailable.
Public methodLUFactor(T[], Int32, Int32[]) Computes the LUP factorization of A. P*A = L*U.
(Inherited from ILinearAlgebraProvider<T>)
Public methodLUInverse(T[], Int32) Computes the inverse of matrix using LU factorization.
(Inherited from ILinearAlgebraProvider<T>)
Public methodLUInverseFactored(T[], Int32, Int32[]) Computes the inverse of a previously factored matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodLUSolve(Int32, T[], Int32, T[]) Solves A*X=B for X using LU factorization.
(Inherited from ILinearAlgebraProvider<T>)
Public methodLUSolveFactored(Int32, T[], Int32, Int32[], T[]) Solves A*X=B for X using a previously factored A matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodMatrixMultiply(T[], Int32, Int32, T[], Int32, Int32, T[]) Multiples two matrices. result = x * y
(Inherited from ILinearAlgebraProvider<T>)
Public methodMatrixMultiplyWithUpdate(Transpose, Transpose, T, T[], Int32, Int32, T[], Int32, Int32, T, T[]) Multiplies two matrices and updates another with the result. c = alpha*op(a)*op(b) + beta*c
(Inherited from ILinearAlgebraProvider<T>)
Public methodMatrixNorm(Norm, Int32, Int32, T[]) Computes the requested Norm of the matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodPointWiseDivideArrays(T[], T[], T[]) Does a point wise division of two arrays z = x / y. This can be used to divide elements of vectors or matrices.
(Inherited from ILinearAlgebraProvider<T>)
Public methodPointWiseMultiplyArrays(T[], T[], T[]) Does a point wise multiplication of two arrays z = x * y. This can be used to multiply elements of vectors or matrices.
(Inherited from ILinearAlgebraProvider<T>)
Public methodPointWisePowerArrays(T[], T[], T[]) Does a point wise power of two arrays z = x ^ y. This can be used to raise elements of vectors or matrices to the powers of another vector or matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodQRFactor(T[], Int32, Int32, T[], T[]) Computes the full QR factorization of A.
(Inherited from ILinearAlgebraProvider<T>)
Public methodQRSolve(T[], Int32, Int32, T[], Int32, T[], QRMethod) Solves A*X=B for X using QR factorization of A.
(Inherited from ILinearAlgebraProvider<T>)
Public methodQRSolveFactored(T[], T[], Int32, Int32, T[], T[], Int32, T[], QRMethod) Solves A*X=B for X using a previously QR factored matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodScaleArray(T, T[], T[]) Scales an array. Can be used to scale a vector and a matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodSingularValueDecomposition(Boolean, T[], Int32, Int32, T[], T[], T[]) Computes the singular value decomposition of A.
(Inherited from ILinearAlgebraProvider<T>)
Public methodSubtractArrays(T[], T[], T[]) Does a point wise subtraction of two arrays z = x - y. This can be used to subtract vectors or matrices.
(Inherited from ILinearAlgebraProvider<T>)
Public methodSvdSolve(T[], Int32, Int32, T[], Int32, T[]) Solves A*X=B for X using the singular value decomposition of A.
(Inherited from ILinearAlgebraProvider<T>)
Public methodSvdSolveFactored(Int32, Int32, T[], T[], T[], T[], Int32, T[]) Solves A*X=B for X using a previously SVD decomposed matrix.
(Inherited from ILinearAlgebraProvider<T>)
Public methodThinQRFactor(T[], Int32, Int32, T[], T[]) Computes the thin QR factorization of A where M > N.
(Inherited from ILinearAlgebraProvider<T>)
Top
See Also