SenK
SenK is a C++ library for high-performance linear solvers.
senk::matrix Namespace Reference

Functions related to matrix are located in namespace matrix. More...

Functions

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

Detailed Description

Functions related to matrix are located in namespace matrix.

Function Documentation

◆ AllocBlockZero()

template<typename T >
void senk::matrix::AllocBlockZero ( T **  val,
int **  cind,
int **  rptr,
int  N,
int  bnl,
int  bnw 
)

Definition at line 653 of file senk_matrix.hpp.

◆ AllocLevelZero()

template<typename T >
void senk::matrix::AllocLevelZero ( T **  val,
int **  cind,
int **  rptr,
int  N,
int  p 
)

Definition at line 552 of file senk_matrix.hpp.

◆ Bcsr2Csr()

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 
)

Definition at line 214 of file senk_matrix.hpp.

◆ CheckStructure()

template<typename T >
bool senk::matrix::CheckStructure ( T *  val,
int *  cind,
int *  rptr,
int  N 
)

Definition at line 46 of file senk_matrix.hpp.

◆ Csr2Bcsr()

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 
)

Definition at line 145 of file senk_matrix.hpp.

◆ Csr2Csc()

template<typename T >
void senk::matrix::Csr2Csc ( T *  val,
int *  cind,
int *  rptr,
T **  cval,
int **  crind,
int **  ccptr,
int  N,
int  M 
)

Definition at line 59 of file senk_matrix.hpp.

◆ Csr2Sell()

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 
)

Definition at line 91 of file senk_matrix.hpp.

◆ Duplicate()

template<typename T >
void senk::matrix::Duplicate ( T *  tval,
int *  tcind,
int *  trptr,
T **  val,
int **  cind,
int **  rptr,
int  N 
)

Definition at line 374 of file senk_matrix.hpp.

◆ Expand()

template<typename T >
void senk::matrix::Expand ( T *  tval,
int *  tcind,
int *  trptr,
T **  val,
int **  cind,
int **  rptr,
int  N,
const char *  key 
)

Definition at line 336 of file senk_matrix.hpp.

◆ GetDiag()

template<typename T >
void senk::matrix::GetDiag ( T *  val,
int *  cind,
int *  rptr,
T **  diag,
int  N 
)

Definition at line 392 of file senk_matrix.hpp.

◆ Ilu0()

template<typename T >
void senk::matrix::Ilu0 ( T *  val,
int *  cind,
int *  rptr,
int  N 
)

Definition at line 419 of file senk_matrix.hpp.

◆ Ilup()

template<typename T >
void senk::matrix::Ilup ( T **  val,
int **  cind,
int **  rptr,
int  N,
int  p 
)

Definition at line 451 of file senk_matrix.hpp.

◆ Padding()

template<typename T >
void senk::matrix::Padding ( T **  val,
int **  cind,
int **  rptr,
int  size,
int *  N 
)

Definition at line 244 of file senk_matrix.hpp.

◆ RemoveOffDiagonal()

template<typename T >
void senk::matrix::RemoveOffDiagonal ( T **  val,
int **  cind,
int **  rptr,
int  N,
int  bnum 
)

Definition at line 669 of file senk_matrix.hpp.

◆ RemoveZeros()

template<typename T >
void senk::matrix::RemoveZeros ( T **  val,
int **  cind,
int *  rptr,
int  N 
)

Remove zero elements form an input matrix.

Template Parameters
TheType of the input matrix.
Parameters
valThe pointer to the array storing val in the CSR format.
cindThe pointer to the array storing column index in the CSR format.
rptrThe pointer to the array storing row pointer in the CSR format.
NThe size of the input matrix.

Definition at line 30 of file senk_matrix.hpp.

◆ Reordering() [1/2]

template<typename T >
void senk::matrix::Reordering ( T *  val,
int *  cind,
int *  rptr,
int *  LP,
int *  RP,
int  N 
)

Definition at line 704 of file senk_matrix.hpp.

◆ Reordering() [2/2]

template<typename T >
void senk::matrix::Reordering ( T *  val,
int *  cind,
int *  rptr,
int *  RP,
int  N 
)

Definition at line 692 of file senk_matrix.hpp.

◆ Scaling()

template<typename T >
void senk::matrix::Scaling ( T *  val,
int *  cind,
int *  rptr,
T *  ld,
T *  rd,
int  N 
)

Definition at line 407 of file senk_matrix.hpp.

◆ Split()

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 
)

Definition at line 258 of file senk_matrix.hpp.