SenK
SenK is a C++ library for high-performance linear solvers.
senk_matrix.hpp File Reference

Functions related (sparse) matrices are defined. More...

#include <cstdio>
#include <cstring>
#include "senk_utils.hpp"
#include "senk_class.hpp"
Include dependency graph for senk_matrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  senk
 The top-level namespace of SenK.
 
namespace  senk::matrix
 Functions related to matrix are located in namespace matrix.
 

Functions

template<typename T >
void senk::matrix::RemoveZeros (T **val, int **cind, int *rptr, int N)
 Remove zero elements form an input matrix. More...
 
template<typename T >
bool senk::matrix::CheckStructure (T *val, int *cind, int *rptr, int N)
 
template<typename T >
void senk::matrix::Csr2Csc (T *val, int *cind, int *rptr, T **cval, int **crind, int **ccptr, int N, int M)
 
template<typename T >
int senk::matrix::Csr2Sell (T *val, int *cind, int *rptr, T **s_val, int **s_cind, int **s_len, int size, int N)
 
template<typename T >
void senk::matrix::Csr2Bcsr (T *val, int *cind, int *rptr, T **bval, int **bcind, int **brptr, int N, int bnl, int bnw)
 
template<typename T >
int senk::matrix::Bcsr2Csr (T *bval, int *bcind, int *brptr, T **val, int **cind, int **rptr, int N, int bnl, int bnw)
 
template<typename T >
void senk::matrix::Padding (T **val, int **cind, int **rptr, int size, int *N)
 
template<typename T >
void senk::matrix::Split (T *val, int *cind, int *rptr, T **lval, int **lcind, int **lrptr, T **uval, int **ucind, int **urptr, T **diag, int N, const char *key, bool invDiag)
 
template<typename T >
void senk::matrix::Expand (T *tval, int *tcind, int *trptr, T **val, int **cind, int **rptr, int N, const char *key)
 
template<typename T >
void senk::matrix::Duplicate (T *tval, int *tcind, int *trptr, T **val, int **cind, int **rptr, int N)
 
template<typename T >
void senk::matrix::GetDiag (T *val, int *cind, int *rptr, T **diag, int N)
 
template<typename T >
void senk::matrix::Scaling (T *val, int *cind, int *rptr, T *ld, T *rd, int N)
 
template<typename T >
void senk::matrix::Ilu0 (T *val, int *cind, int *rptr, int N)
 
template<typename T >
void senk::matrix::Ilup (T **val, int **cind, int **rptr, int N, int p)
 
template<typename T >
void senk::matrix::AllocLevelZero (T **val, int **cind, int **rptr, int N, int p)
 
template<typename T >
void senk::matrix::AllocBlockZero (T **val, int **cind, int **rptr, int N, int bnl, int bnw)
 
template<typename T >
void senk::matrix::RemoveOffDiagonal (T **val, int **cind, int **rptr, int N, int bnum)
 
template<typename T >
void senk::matrix::Reordering (T *val, int *cind, int *rptr, int *RP, int N)
 
template<typename T >
void senk::matrix::Reordering (T *val, int *cind, int *rptr, int *LP, int *RP, int N)
 

Detailed Description

Functions related (sparse) matrices are defined.

Author
Kengo Suzuki
Date
5/9/2022

Definition in file senk_matrix.hpp.