Managed Sparse Linear Algebra Operations.Multiply And Add In Place Method
Definition
Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
Overload List
MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Complex<Double>, MatrixStructure, MatrixTriangle, MatrixDiagonal, Complex<Double>[], Int32[], Int32[], Int32[], ArraySlice<Complex<Double>>, Complex<Double>, ArraySlice<Complex<Double>>)
Multiplies a dense vector by a sparse matrix in Compressed Sparse Column (CSC) format.
public override void MultiplyAndAddInPlace(
TransposeOperation transA,
int m,
int k,
Complex<double> alpha,
MatrixStructure structure,
MatrixTriangle storedTriangle,
MatrixDiagonal matrixDiagonal,
Complex<double>[] a,
int[] aRows,
int[] aPointerB,
int[] aPointerE,
ArraySlice<Complex<double>> x,
Complex<double> beta,
ArraySlice<Complex<double>> y
)
Parameters
- transA TransposeOperation
- Specifies the operation to be performed on the matrix a.
- m Int32
- The number of rows in the matrix a.
- k Int32
- The number of columns in the matrix a.
- alpha Complex<Double>
- The scalar used to multiply the matrix-vector product.
- structure MatrixStructure
- A MatrixStructure value that specifies the structure of the matrix.
- storedTriangle MatrixTriangle
- A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
- matrixDiagonal MatrixDiagonal
- A MatrixDiagonal value that indicates whether the diagonal elements are all 1 or not.
- a Complex<Double>[]
- Reference to the first element in a one-dimensional array that contains the elements of the matrix.
- aRows Int32[]
- Integer array that contains the 1-based row indices of the corresponding elements of a.
- aPointerB Int32[]
- Integer array of length m containing the 1-based indices into a of the first component of each column.
- aPointerE Int32[]
- Integer array of length m containing the 1-based indices into a of the first component of each column.
- x ArraySlice<Complex<Double>>
- A reference to a one-dimensional array containing the elements of the vector x.
- beta Complex<Double>
- The scalar used to multiply y.
- y ArraySlice<Complex<Double>>
- A reference to a one-dimensional array containing the elements of the vector y. The elements of y are overwritten with the result.
Implements
ISparseLinearAlgebraOperations<T>.MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], ArraySlice<T>, T, ArraySlice<T>)MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Double, MatrixStructure, MatrixTriangle, MatrixDiagonal, Double[], Int32[], Int32[], Int32[], ArraySlice<Double>, Double, ArraySlice<Double>)
Multiplies a dense vector by a sparse matrix in Compressed Sparse Column (CSC) format.
public override void MultiplyAndAddInPlace(
TransposeOperation transA,
int m,
int k,
double alpha,
MatrixStructure structure,
MatrixTriangle storedTriangle,
MatrixDiagonal matrixDiagonal,
double[] a,
int[] aRows,
int[] aPointerB,
int[] aPointerE,
ArraySlice<double> x,
double beta,
ArraySlice<double> y
)
Parameters
- transA TransposeOperation
- Specifies the operation to be performed on the matrix a.
- m Int32
- The number of rows in the matrix a.
- k Int32
- The number of columns in the matrix a.
- alpha Double
- The scalar used to multiply the matrix-vector product.
- structure MatrixStructure
- A MatrixStructure value that specifies the structure of the matrix.
- storedTriangle MatrixTriangle
- A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
- matrixDiagonal MatrixDiagonal
- A MatrixDiagonal value that indicates whether the diagonal elements are all 1 or not.
- a Double[]
- Reference to the first element in a one-dimensional array that contains the elements of the matrix.
- aRows Int32[]
- Integer array that contains the 1-based row indices of the corresponding elements of a.
- aPointerB Int32[]
- Integer array of length m containing the 1-based indices into a of the first component of each column.
- aPointerE Int32[]
- Integer array of length m containing the 1-based indices into a of the first component of each column.
- x ArraySlice<Double>
- A reference to a one-dimensional array containing the elements of the vector x.
- beta Double
- The scalar used to multiply y.
- y ArraySlice<Double>
- A reference to a one-dimensional array containing the elements of the vector y. The elements of y are overwritten with the result.
Implements
ISparseLinearAlgebraOperations<T>.MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], ArraySlice<T>, T, ArraySlice<T>)MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Complex<Double>, MatrixStructure, MatrixTriangle, MatrixDiagonal, Complex<Double>[], Int32[], Int32[], Int32[], Array2D<Complex<Double>>, Complex<Double>, Array2D<Complex<Double>>)
Multiplies a matrix in compressed sparse column format with a dense matrix.
public override void MultiplyAndAddInPlace(
TransposeOperation transA,
int m,
int n,
int k,
Complex<double> alpha,
MatrixStructure structure,
MatrixTriangle storedTriangle,
MatrixDiagonal matrixDiagonal,
Complex<double>[] a,
int[] aRows,
int[] aPointerB,
int[] aPointerE,
Array2D<Complex<double>> b,
Complex<double> beta,
Array2D<Complex<double>> c
)
Parameters
- transA TransposeOperation
- m Int32
- The number of rows in the matrix A.
- n Int32
- The number of columns in the matrix C.
- k Int32
- The number of columns in the matric A.
- alpha Complex<Double>
- The multiplier for the matrix product.
- structure MatrixStructure
- A MatrixStructure value that specifies the structural properties of the matrix A
- storedTriangle MatrixTriangle
- A MatrixTriangle value that specifies whether the upper or lower triangular part of the matrix is used.
- matrixDiagonal MatrixDiagonal
- A MatrixDiagonal value that specifies whether the diagonal of the sparse matrix contains all 1's.
- a Complex<Double>[]
- A Double array that contains the values of the elements of the matrix A.
- aRows Int32[]
- An integer array that contains the row indexes corresponding to the values in a.
- aPointerB Int32[]
- An integer array that specifies the index into a and aRows of the first element of each column.
- aPointerE Int32[]
- An integer array that specifies the index into a and aRows past the last element of each column.
- b Array2D<Complex<Double>>
- A Double array that contains the components of the dense matrix.
- beta Complex<Double>
- Multiplier for the matrix C.
- c Array2D<Complex<Double>>
- A Double array that contains the components of the (dense) result matrix.
Implements
ISparseLinearAlgebraOperations<T>.MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], Array2D<T>, T, Array2D<T>)MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, Double, MatrixStructure, MatrixTriangle, MatrixDiagonal, Double[], Int32[], Int32[], Int32[], Array2D<Double>, Double, Array2D<Double>)
Multiplies a matrix in compressed sparse column format with a dense matrix.
public override void MultiplyAndAddInPlace(
TransposeOperation transA,
int m,
int n,
int k,
double alpha,
MatrixStructure structure,
MatrixTriangle storedTriangle,
MatrixDiagonal matrixDiagonal,
double[] a,
int[] aRows,
int[] aPointerB,
int[] aPointerE,
Array2D<double> b,
double beta,
Array2D<double> c
)
Parameters
- transA TransposeOperation
- m Int32
- The number of rows in the matrix A.
- n Int32
- The number of columns in the matrix C.
- k Int32
- The number of columns in the matric A.
- alpha Double
- The multiplier for the matrix product.
- structure MatrixStructure
- A MatrixStructure value that specifies the structural properties of the matrix A
- storedTriangle MatrixTriangle
- A MatrixTriangle value that specifies whether the upper or lower triangular part of the matrix is used.
- matrixDiagonal MatrixDiagonal
- A MatrixDiagonal value that specifies whether the diagonal of the sparse matrix contains all 1's.
- a Double[]
- A Double array that contains the values of the elements of the matrix A.
- aRows Int32[]
- An integer array that contains the row indexes corresponding to the values in a.
- aPointerB Int32[]
- An integer array that specifies the index into a and aRows of the first element of each column.
- aPointerE Int32[]
- An integer array that specifies the index into a and aRows past the last element of each column.
- b Array2D<Double>
- A Double array that contains the components of the dense matrix.
- beta Double
- Multiplier for the matrix C.
- c Array2D<Double>
- A Double array that contains the components of the (dense) result matrix.
Implements
ISparseLinearAlgebraOperations<T>.MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], Array2D<T>, T, Array2D<T>)ISparseLinearAlgebraOperations<T>.MultiplyAndAddInPlace(TransposeOperation, Int32, Int32, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], Array2D<T>, T, Array2D<T>)