Routines to compute matrix matrix products. For now only \(MM^T\) and \(M\Sigma M^T\), with \(\Sigma\) a diagonal matrix, are supported.
Definition in file ladel_matmat.h.
#include "ladel_types.h"
Go to the source code of this file.
Functions | |
ladel_sparse_matrix * | ladel_mat_mat_transpose (const ladel_sparse_matrix *M, const ladel_sparse_matrix *M_transpose, ladel_work *work) |
Computes \(MM^T\). More... | |
ladel_sparse_matrix * | ladel_mat_mat_transpose_pattern (const ladel_sparse_matrix *M, const ladel_sparse_matrix *M_transpose, ladel_work *work) |
Computes the pattern of \(MM^T\). More... | |
ladel_sparse_matrix * | ladel_mat_diag_mat_transpose (const ladel_sparse_matrix *M, const ladel_sparse_matrix *M_transpose, const ladel_double *diag, ladel_work *work) |
Computes \(M\Sigma M^T\). More... | |
ladel_sparse_matrix * | ladel_mat_mat_transpose_advanced (const ladel_sparse_matrix *M, const ladel_sparse_matrix *M_transpose, const ladel_double *diag, ladel_int values, ladel_work *work) |
Core mat_mat_transpose function with all options (diag and value/pattern). More... | |
ladel_sparse_matrix * ladel_mat_diag_mat_transpose | ( | const ladel_sparse_matrix * | M, |
const ladel_sparse_matrix * | M_transpose, | ||
const ladel_double * | diag, | ||
ladel_work * | work | ||
) |
Computes \(M\Sigma M^T\).
M | Matrix |
M_transpose | The transpose of M |
diag | Array containing the diagonal of \(\Sigma\) |
work | LADEL workspace |
Definition at line 17 of file ladel_matmat.c.
ladel_sparse_matrix * ladel_mat_mat_transpose | ( | const ladel_sparse_matrix * | M, |
const ladel_sparse_matrix * | M_transpose, | ||
ladel_work * | work | ||
) |
Computes \(MM^T\).
M | Matrix |
M_transpose | The transpose of M |
work | LADEL workspace |
Definition at line 7 of file ladel_matmat.c.
ladel_sparse_matrix * ladel_mat_mat_transpose_advanced | ( | const ladel_sparse_matrix * | M, |
const ladel_sparse_matrix * | M_transpose, | ||
const ladel_double * | diag, | ||
ladel_int | values, | ||
ladel_work * | work | ||
) |
Core mat_mat_transpose function with all options (diag and value/pattern).
M | Matrix |
M_transpose | Transpose of M |
diag | Array containing the diagonal of \(\Sigma\). If NULL, \(\Sigma = I\). |
values | Values or pattern computation |
work | LADEL workspace |
Definition at line 22 of file ladel_matmat.c.
ladel_sparse_matrix * ladel_mat_mat_transpose_pattern | ( | const ladel_sparse_matrix * | M, |
const ladel_sparse_matrix * | M_transpose, | ||
ladel_work * | work | ||
) |
Computes the pattern of \(MM^T\).
M | Matrix |
M_transpose | The transpose of M |
work | LADEL workspace |
Definition at line 12 of file ladel_matmat.c.