Click or drag to resize

MatrixBuilderT Class

Generic linear algebra type builder, for situations where a matrix or vector must be created in a generic way. Usage of generic builders should not be required in normal user code.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.LinearAlgebraMatrixBuilderT

Namespace: Altaxo.Calc.LinearAlgebra
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public abstract class MatrixBuilder<T>
where T : struct, new(), IEquatable<T>, IFormattable

Type Parameters

T

[Missing <typeparam name="T"/> documentation for "T:Altaxo.Calc.LinearAlgebra.MatrixBuilder`1"]

The MatrixBuilderT type exposes the following members.

Constructors
 NameDescription
Protected methodMatrixBuilderTInitializes a new instance of the MatrixBuilderT class
Top
Properties
 NameDescription
Public propertyOne Gets the value of 1.0 for type T.
Public propertyZero Gets the value of 0.0 for type T.
Top
Methods
 NameDescription
Public methodDense(DenseColumnMajorMatrixStorageT) Create a new dense matrix straight from an initialized matrix storage instance. The storage is used directly without copying. Intended for advanced scenarios where you're working directly with storage for performance or interop reasons.
Public methodDense(Int32, Int32) Create a new dense matrix with the given number of rows and columns. All cells of the matrix will be initialized to zero.
Public methodDense(Int32, Int32, T) Create a new dense matrix and initialize each value to the same provided value.
Public methodDense(Int32, Int32, T) Create a new dense matrix with the given number of rows and columns directly binding to a raw array. The array is assumed to be in column-major order (column by column) and is used directly without copying. Very efficient, but changes to the array and the matrix will affect each other.
Public methodDense(Int32, Int32, FuncInt32, Int32, T) Create a new dense matrix and initialize each value using the provided init function.
Public methodDenseDiagonal(Int32, T) Create a new diagonal dense matrix and initialize each diagonal value to the same provided value.
Public methodDenseDiagonal(Int32, Int32, T) Create a new diagonal dense matrix and initialize each diagonal value to the same provided value.
Public methodDenseDiagonal(Int32, Int32, FuncInt32, T) Create a new diagonal dense matrix and initialize each diagonal value using the provided init function.
Public methodDenseIdentity(Int32) Create a new diagonal dense identity matrix with a one-diagonal.
Public methodDenseIdentity(Int32, Int32) Create a new diagonal dense identity matrix with a one-diagonal.
Public methodDenseOfArray Create a new dense matrix as a copy of the given two-dimensional array. This new matrix will be independent from the provided array. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumnArrays(IEnumerableT) Create a new dense matrix of T as a copy of the given column arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumnArrays(T) Create a new dense matrix of T as a copy of the given column arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumnMajor Create a new dense matrix as a copy of the given enumerable. The enumerable is assumed to be in column-major order (column by column). This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumns(IEnumerableIEnumerableT) Create a new dense matrix as a copy of the given enumerable of enumerable columns. Each enumerable in the master enumerable specifies a column. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumns(Int32, Int32, IEnumerableIEnumerableT) Create a new dense matrix as a copy of the given enumerable of enumerable columns. Each enumerable in the master enumerable specifies a column. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumnVectors(IEnumerableVectorT) Create a new dense matrix as a copy of the given column vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodDenseOfColumnVectors(VectorT) Create a new dense matrix as a copy of the given column vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodDenseOfDiagonalArray(T) Create a new dense matrix with the diagonal as a copy of the given array. This new matrix will be independent from the array. A new memory block will be allocated for storing the matrix.
Public methodDenseOfDiagonalArray(Int32, Int32, T) Create a new dense matrix with the diagonal as a copy of the given array. This new matrix will be independent from the array. A new memory block will be allocated for storing the matrix.
Public methodDenseOfDiagonalVector(VectorT) Create a new dense matrix with the diagonal as a copy of the given vector. This new matrix will be independent from the vector. A new memory block will be allocated for storing the matrix.
Public methodDenseOfDiagonalVector(Int32, Int32, VectorT) Create a new dense matrix with the diagonal as a copy of the given vector. This new matrix will be independent from the vector. A new memory block will be allocated for storing the matrix.
Public methodDenseOfIndexed(Int32, Int32, IEnumerableTupleInt32, Int32, T) Create a new dense matrix as a copy of the given indexed enumerable. Keys must be provided at most once, zero is assumed if a key is omitted. This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the matrix.
Public methodDenseOfIndexed(Int32, Int32, IEnumerableValueTupleInt32, Int32, T) Create a new dense matrix as a copy of the given indexed enumerable. Keys must be provided at most once, zero is assumed if a key is omitted. This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the matrix.
Public methodDenseOfMatrix Create a new dense matrix as a copy of the given other matrix. This new matrix will be independent from the other matrix. A new memory block will be allocated for storing the matrix.
Public methodDenseOfMatrixArray Create a new dense matrix from a 2D array of existing matrices. The matrices in the array are not required to be dense already. If the matrices do not align properly, they are placed on the top left corner of their cell with the remaining fields left zero.
Public methodDenseOfRowArrays(IEnumerableT) Create a new dense matrix of T as a copy of the given row arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodDenseOfRowArrays(T) Create a new dense matrix of T as a copy of the given row arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodDenseOfRowMajor Create a new dense matrix as a copy of the given enumerable. The enumerable is assumed to be in row-major order (row by row). This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the matrix.
Public methodDenseOfRows(IEnumerableIEnumerableT) Create a new dense matrix as a copy of the given enumerable of enumerable rows. Each enumerable in the master enumerable specifies a row. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodDenseOfRows(Int32, Int32, IEnumerableIEnumerableT) Create a new dense matrix as a copy of the given enumerable of enumerable rows. Each enumerable in the master enumerable specifies a row. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodDenseOfRowVectors(IEnumerableVectorT) Create a new dense matrix as a copy of the given row vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodDenseOfRowVectors(VectorT) Create a new dense matrix as a copy of the given row vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodDiagonal(DiagonalMatrixStorageT) Create a new diagonal matrix straight from an initialized matrix storage instance. The storage is used directly without copying. Intended for advanced scenarios where you're working directly with storage for performance or interop reasons.
Public methodDiagonal(T) Create a new square diagonal matrix directly binding to a raw array. The array is assumed to represent the diagonal values and is used directly without copying. Very efficient, but changes to the array and the matrix will affect each other.
Public methodDiagonal(Int32, Int32) Create a new diagonal matrix with the given number of rows and columns. All cells of the matrix will be initialized to zero.
Public methodDiagonal(Int32, Int32, T) Create a new diagonal matrix and initialize each diagonal value to the same provided value.
Public methodDiagonal(Int32, Int32, T) Create a new diagonal matrix with the given number of rows and columns directly binding to a raw array. The array is assumed to represent the diagonal values and is used directly without copying. Very efficient, but changes to the array and the matrix will affect each other.
Public methodDiagonal(Int32, Int32, FuncInt32, T) Create a new diagonal matrix and initialize each diagonal value using the provided init function.
Public methodDiagonalIdentity(Int32) Create a new diagonal identity matrix with a one-diagonal.
Public methodDiagonalIdentity(Int32, Int32) Create a new diagonal identity matrix with a one-diagonal.
Public methodDiagonalOfDiagonalArray(T) Create a new diagonal matrix with the diagonal as a copy of the given array. This new matrix will be independent from the array. A new memory block will be allocated for storing the matrix.
Public methodDiagonalOfDiagonalArray(Int32, Int32, T) Create a new diagonal matrix with the diagonal as a copy of the given array. This new matrix will be independent from the array. A new memory block will be allocated for storing the matrix.
Public methodDiagonalOfDiagonalVector(VectorT) Create a new diagonal matrix with the diagonal as a copy of the given vector. This new matrix will be independent from the vector. A new memory block will be allocated for storing the matrix.
Public methodDiagonalOfDiagonalVector(Int32, Int32, VectorT) Create a new diagonal matrix with the diagonal as a copy of the given vector. This new matrix will be independent from the vector. A new memory block will be allocated for storing the matrix.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodIterativeSolverStopCriteria 
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodOfStorage Create a new matrix straight from an initialized matrix storage instance. If you have an instance of a discrete storage type instead, use their direct methods instead.
Public methodRandom(Int32, Int32) Create a new dense matrix with values sampled from the standard distribution with a system random source.
Public methodRandom(Int32, Int32, IContinuousDistribution) Create a new dense matrix with values sampled from the provided random distribution.
Public methodRandom(Int32, Int32, Int32) Create a new dense matrix with values sampled from the standard distribution with a system random source.
Public methodRandomPositiveDefinite(Int32) Create a new positive definite dense matrix where each value is the product of two samples from the standard distribution.
Public methodRandomPositiveDefinite(Int32, IContinuousDistribution) Create a new positive definite dense matrix where each value is the product of two samples from the provided random distribution.
Public methodRandomPositiveDefinite(Int32, Int32) Create a new positive definite dense matrix where each value is the product of two samples from the provided random distribution.
Public methodSameAs(MatrixT, MatrixT) Create a new matrix with a type that can represent and is closest to both provided samples and the dimensions of example.
Public methodSameAs(VectorT, Int32, Int32) Create a new matrix with the same kind of the provided example.
Public methodSameAs(MatrixT, MatrixT, Int32, Int32, Boolean) Create a new matrix with a type that can represent and is closest to both provided samples.
Public methodSameAsTU(MatrixTU) Create a new matrix with the same kind and dimensions of the provided example.
Public methodSameAsTU(MatrixTU, Int32, Int32, Boolean) Create a new matrix with the same kind of the provided example.
Public methodSparse(SparseCompressedRowMatrixStorageT) Create a new sparse matrix straight from an initialized matrix storage instance. The storage is used directly without copying. Intended for advanced scenarios where you're working directly with storage for performance or interop reasons.
Public methodSparse(Int32, Int32) Create a sparse matrix of T with the given number of rows and columns.
Public methodSparse(Int32, Int32, T) Create a new sparse matrix and initialize each value to the same provided value.
Public methodSparse(Int32, Int32, FuncInt32, Int32, T) Create a new sparse matrix and initialize each value using the provided init function.
Public methodSparseDiagonal(Int32, T) Create a new diagonal sparse matrix and initialize each diagonal value to the same provided value.
Public methodSparseDiagonal(Int32, Int32, T) Create a new diagonal sparse matrix and initialize each diagonal value to the same provided value.
Public methodSparseDiagonal(Int32, Int32, FuncInt32, T) Create a new diagonal sparse matrix and initialize each diagonal value using the provided init function.
Public methodSparseFromCompressedSparseColumnFormat Create a new sparse matrix from a compressed sparse column format. This new matrix will be independent from the given arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseFromCompressedSparseRowFormat Create a new sparse matrix from a compressed sparse row format. This new matrix will be independent from the given arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseFromCoordinateFormat Create a new sparse matrix from a coordinate format. This new matrix will be independent from the given arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseIdentity(Int32) Create a new diagonal dense identity matrix with a one-diagonal.
Public methodSparseIdentity(Int32, Int32) Create a new diagonal dense identity matrix with a one-diagonal.
Public methodSparseOfArray Create a new sparse matrix as a copy of the given two-dimensional array. This new matrix will be independent from the provided array. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumnArrays(IEnumerableT) Create a new sparse matrix as a copy of the given column arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumnArrays(T) Create a new sparse matrix as a copy of the given column arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumnMajor Create a new sparse matrix with the given number of rows and columns as a copy of the given array. The array is assumed to be in column-major order (column by column). This new matrix will be independent from the provided array. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumns(IEnumerableIEnumerableT) Create a new sparse matrix as a copy of the given enumerable of enumerable columns. Each enumerable in the master enumerable specifies a column. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumns(Int32, Int32, IEnumerableIEnumerableT) Create a new sparse matrix as a copy of the given enumerable of enumerable columns. Each enumerable in the master enumerable specifies a column. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumnVectors(IEnumerableVectorT) Create a new sparse matrix as a copy of the given column vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodSparseOfColumnVectors(VectorT) Create a new sparse matrix as a copy of the given column vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodSparseOfDiagonalArray(T) Create a new sparse matrix with the diagonal as a copy of the given array. This new matrix will be independent from the array. A new memory block will be allocated for storing the matrix.
Public methodSparseOfDiagonalArray(Int32, Int32, T) Create a new sparse matrix with the diagonal as a copy of the given array. This new matrix will be independent from the array. A new memory block will be allocated for storing the matrix.
Public methodSparseOfDiagonalVector(VectorT) Create a new sparse matrix with the diagonal as a copy of the given vector. This new matrix will be independent from the vector. A new memory block will be allocated for storing the matrix.
Public methodSparseOfDiagonalVector(Int32, Int32, VectorT) Create a new sparse matrix with the diagonal as a copy of the given vector. This new matrix will be independent from the vector. A new memory block will be allocated for storing the matrix.
Public methodSparseOfIndexed(Int32, Int32, IEnumerableTupleInt32, Int32, T) Create a new sparse matrix as a copy of the given indexed enumerable. Keys must be provided at most once, zero is assumed if a key is omitted. This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the matrix.
Public methodSparseOfIndexed(Int32, Int32, IEnumerableValueTupleInt32, Int32, T) Create a new sparse matrix as a copy of the given indexed enumerable. Keys must be provided at most once, zero is assumed if a key is omitted. This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the matrix.
Public methodSparseOfMatrix Create a new sparse matrix as a copy of the given other matrix. This new matrix will be independent from the other matrix. A new memory block will be allocated for storing the matrix.
Public methodSparseOfMatrixArray Create a new sparse matrix from a 2D array of existing matrices. The matrices in the array are not required to be sparse already. If the matrices do not align properly, they are placed on the top left corner of their cell with the remaining fields left zero.
Public methodSparseOfRowArrays(IEnumerableT) Create a new sparse matrix as a copy of the given row arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseOfRowArrays(T) Create a new sparse matrix as a copy of the given row arrays. This new matrix will be independent from the arrays. A new memory block will be allocated for storing the matrix.
Public methodSparseOfRowMajor Create a new sparse matrix as a copy of the given enumerable. The enumerable is assumed to be in row-major order (row by row). This new matrix will be independent from the enumerable. A new memory block will be allocated for storing the vector.
Public methodSparseOfRows(IEnumerableIEnumerableT) Create a new sparse matrix as a copy of the given enumerable of enumerable rows. Each enumerable in the master enumerable specifies a row. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodSparseOfRows(Int32, Int32, IEnumerableIEnumerableT) Create a new sparse matrix as a copy of the given enumerable of enumerable rows. Each enumerable in the master enumerable specifies a row. This new matrix will be independent from the enumerables. A new memory block will be allocated for storing the matrix.
Public methodSparseOfRowVectors(IEnumerableVectorT) Create a new sparse matrix as a copy of the given row vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodSparseOfRowVectors(VectorT) Create a new sparse matrix as a copy of the given row vectors. This new matrix will be independent from the vectors. A new memory block will be allocated for storing the matrix.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
See Also