adelie.adelie_core.matrix.MatrixConstraintDense32F#
- class adelie.adelie_core.matrix.MatrixConstraintDense32F#
Core matrix class for dense constraint matrix.
Methods
__init__
(self, mat, n_threads)cols
(self)Returns the number of columns.
cov
(self, arg0, arg1)Computes the covariance matrix.
mul
(self, arg0, arg1)Computes a matrix-vector multiplication.
rmmul
(self, arg0, arg1, arg2)Computes a row vector-matrix multiplication.
rmmul_safe
(self, arg0, arg1, arg2)Computes a row vector-matrix multiplication.
rows
(self)Returns the number of rows.
rvmul
(self, arg0, arg1)Computes a row vector-vector multiplication.
rvmul_safe
(self, arg0, arg1)Computes a row vector-vector multiplication.
rvtmul
(self, arg0, arg1, arg2)Computes a row vector-scalar multiplication increment.
sp_mul
(self, arg0, arg1, arg2)Computes a matrix-sparse vector multiplication.
tmul
(self, arg0, arg1)Computes a matrix transpose-vector multiplication.
Attributes
Number of dimensions.
Shape of the matrix.
- __init__(self: adelie.adelie_core.matrix.MatrixConstraintDense32F, mat: numpy.ndarray[numpy.float32[m, n], flags.f_contiguous], n_threads: int) None #
- cols(self: adelie.adelie_core.matrix.MatrixConstraintBase32) int #
Returns the number of columns.
- Returns:
- colsint
Number of columns.
- cov(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: numpy.ndarray[numpy.float32[m, n], flags.f_contiguous], arg1: numpy.ndarray[numpy.float32[m, n], flags.writeable, flags.f_contiguous]) None #
Computes the covariance matrix.
Computes the covariance matrix
A @ Q @ A.T
.- Parameters:
- Q(d, d) ndarray
Matrix of weights.
- out(m, m) ndarray
Matrix to store in-place the result.
- mul(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: numpy.ndarray[numpy.float32[1, n]], arg1: numpy.ndarray[numpy.float32[1, n], flags.writeable]) None #
Computes a matrix-vector multiplication.
Computes the matrix-vector multiplication
v.T @ A
.- Parameters:
- v(m,) ndarray
Vector to multiply with the matrix.
- out(d,) ndarray
Vector to store in-place the result.
- rmmul(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: int, arg1: numpy.ndarray[numpy.float32[m, n], flags.f_contiguous], arg2: numpy.ndarray[numpy.float32[1, n], flags.writeable]) None #
Computes a row vector-matrix multiplication.
Computes the matrix-vector multiplication
A[j].T @ Q
.Warning
This function is not thread-safe!
- Parameters:
- jint
Row index.
- Q(d, d) ndarray
Matrix to dot product with the
j
th row.- out(d,) ndarray
Vector to store in-place the result.
- rmmul_safe(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: int, arg1: numpy.ndarray[numpy.float32[m, n], flags.f_contiguous], arg2: numpy.ndarray[numpy.float32[1, n], flags.writeable]) None #
Computes a row vector-matrix multiplication.
Thread-safe version of
rmmul()
.- Parameters:
- jint
Row index.
- Q(d, d) ndarray
Matrix to dot product with the
j
th row.- out(d,) ndarray
Vector to store in-place the result.
- rows(self: adelie.adelie_core.matrix.MatrixConstraintBase32) int #
Returns the number of rows.
- Returns:
- rowsint
Number of rows.
- rvmul(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: int, arg1: numpy.ndarray[numpy.float32[1, n]]) float #
Computes a row vector-vector multiplication.
Computes the dot-product
A[j].T @ v
.Warning
This function is not thread-safe!
- Parameters:
- jint
Row index.
- v(d,) ndarray
Vector to dot product with the
j
th row.
- Returns:
- dotfloat
Row vector-vector multiplication.
- rvmul_safe(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: int, arg1: numpy.ndarray[numpy.float32[1, n]]) float #
Computes a row vector-vector multiplication.
Thread-safe version of
rvmul()
.- Parameters:
- jint
Row index.
- v(d,) ndarray
Vector to dot product with the
j
th row.
- Returns:
- dotfloat
Row vector-vector multiplication.
- rvtmul(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: int, arg1: float, arg2: numpy.ndarray[numpy.float32[1, n], flags.writeable]) None #
Computes a row vector-scalar multiplication increment.
Computes the vector-scalar multiplication
A[j] * v
. The result is incremented into the output vector.Warning
This function is not thread-safe!
- Parameters:
- jint
Row index.
- vfloat
Scalar to multiply with the
j
th row.- out(d,) ndarray
Vector to increment in-place the result.
- sp_mul(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: numpy.ndarray[numpy.int64[1, n]], arg1: numpy.ndarray[numpy.float32[1, n]], arg2: numpy.ndarray[numpy.float32[1, n], flags.writeable]) None #
Computes a matrix-sparse vector multiplication.
Computes the matrix-sparse vector multiplication
v.T @ A
wherev
is represented by the sparse-formatindices
andvalues
.- Parameters:
- indices(nnz,) ndarray
Vector of indices with non-zero values of
v
. It does not have to be sorted in increasing order.- values(nnz,) ndarray
Vector of values corresponding to
indices
.- out(d,) ndarray
Vector to store in-place the result.
- tmul(self: adelie.adelie_core.matrix.MatrixConstraintBase32, arg0: numpy.ndarray[numpy.float32[1, n]], arg1: numpy.ndarray[numpy.float32[1, n], flags.writeable]) None #
Computes a matrix transpose-vector multiplication.
Computes the matrix transpose-vector multiplication
v.T @ A.T
.- Parameters:
- v(d,) ndarray
Vector to multiply with the matrix.
- out(m,) ndarray
Vector to store in-place the result.
- ndim#
Number of dimensions. It is always
2
.
- shape#
Shape of the matrix.