SpM Handbook 1.2.4
Loading...
Searching...
No Matches

This group describes all the constants of the SpM package. More...

Macros

#define CBLAS_SADDR(_a_)   (&(_a_))
 Macro to get the address if need in the cblas calls.
 
#define SpmDistByColumn   (0x1 << 0)
 Distribution of the matrix storage.
 
#define SpmDistByRow   (0x1 << 1)
 

Typedefs

typedef enum spm_verbose_e spm_verbose_t
 Verbose modes.
 
typedef enum spm_coeftype_e spm_coeftype_t
 Arithmetic types.
 
typedef enum spm_fmttype_e spm_fmttype_t
 Sparse matrix format.
 
typedef enum spm_error_e spm_error_t
 Error codes.
 
typedef enum spm_driver_e spm_driver_t
 The list of matrix driver readers and generators.
 
typedef enum spm_rhstype_e spm_rhstype_t
 How to generate RHS.
 

Enumerations

enum  spm_verbose_e { SpmVerboseNot = 0 , SpmVerboseNo = 1 , SpmVerboseYes = 2 }
 Verbose modes. More...
 
enum  spm_coeftype_e {
  SpmPattern = 0 , SpmFloat = 2 , SpmDouble = 3 , SpmComplex32 = 4 ,
  SpmComplex64 = 5
}
 Arithmetic types. More...
 
enum  spm_fmttype_e { SpmCSC , SpmCSR , SpmIJV }
 Sparse matrix format. More...
 
enum  spm_error_e {
  SPM_SUCCESS = 0 , SPM_ERR_UNKNOWN = 1 , SPM_ERR_ALLOC = 2 , SPM_ERR_NOTIMPLEMENTED = 3 ,
  SPM_ERR_OUTOFMEMORY = 4 , SPM_ERR_THREAD = 5 , SPM_ERR_INTERNAL = 6 , SPM_ERR_BADPARAMETER = 7 ,
  SPM_ERR_FILE = 8 , SPM_ERR_INTEGER_TYPE = 9 , SPM_ERR_IO = 10 , SPM_ERR_MPI = 11
}
 Error codes. More...
 
enum  spm_driver_e {
  SpmDriverRSA , SpmDriverHB , SpmDriverIJV , SpmDriverMM ,
  SpmDriverLaplacian , SpmDriverXLaplacian , SpmDriverGraph , SpmDriverSPM
}
 The list of matrix driver readers and generators. More...
 
enum  spm_rhstype_e { SpmRhsOne , SpmRhsI , SpmRhsRndX , SpmRhsRndB }
 How to generate RHS. More...
 

Constants compatible with CBLAS & LAPACK & PLASMA

The naming and numbering of the following constants is consistent with:

enum  spm_layout_e { SpmRowMajor = 101 , SpmColMajor = 102 }
 Direction of the matrix storage. More...
 
enum  spm_trans_e { SpmNoTrans = 111 , SpmTrans = 112 , SpmConjTrans = 113 }
 Transpostion. More...
 
enum  spm_mtxtype_e { SpmGeneral = SpmNoTrans , SpmSymmetric = SpmTrans , SpmHermitian = SpmConjTrans }
 Matrix symmetry type property. More...
 
enum  spm_uplo_e { SpmUpper = 121 , SpmLower = 122 , SpmUpperLower = 123 }
 Upper/Lower part. More...
 
enum  spm_diag_e { SpmNonUnit = 131 , SpmUnit = 132 }
 Diagonal. More...
 
enum  spm_side_e { SpmLeft = 141 , SpmRight = 142 }
 Side of the operation. More...
 
enum  spm_normtype_e { SpmOneNorm = 171 , SpmFrobeniusNorm = 174 , SpmInfNorm = 175 , SpmMaxNorm = 177 }
 Norms. More...
 
enum  spm_dir_e { SpmDirForward = 391 , SpmDirBackward = 392 }
 Direction. More...
 
typedef enum spm_layout_e spm_layout_t
 Direction of the matrix storage.
 
typedef enum spm_trans_e spm_trans_t
 Transpostion.
 
typedef enum spm_mtxtype_e spm_mtxtype_t
 Matrix symmetry type property.
 
typedef enum spm_uplo_e spm_uplo_t
 Upper/Lower part.
 
typedef enum spm_diag_e spm_diag_t
 Diagonal.
 
typedef enum spm_side_e spm_side_t
 Side of the operation.
 
typedef enum spm_normtype_e spm_normtype_t
 Norms.
 
typedef enum spm_dir_e spm_dir_t
 Direction.
 

Detailed Description

This group describes all the constants of the SpM package.

Macro Definition Documentation

◆ CBLAS_SADDR

#define CBLAS_SADDR (   _a_)    (&(_a_))

Macro to get the address if need in the cblas calls.

Parameters
[in]_a_The parameter for which the address is needed.

Definition at line 36 of file const.h.

◆ SpmDistByColumn

#define SpmDistByColumn   (0x1 << 0)

Distribution of the matrix storage.

Storage in column distributed

Definition at line 42 of file const.h.

◆ SpmDistByRow

#define SpmDistByRow   (0x1 << 1)

Storage in row distributed

Definition at line 43 of file const.h.

Typedef Documentation

◆ spm_coeftype_t

Arithmetic types.

This describes the different arithmetics that can be stored in a sparse matrix.

Remarks
The values start at 2 for compatibility purpose with PLASMA and DPLASMA libraries.

◆ spm_mtxtype_t

Matrix symmetry type property.

Remarks
Must match transposition.

Enumeration Type Documentation

◆ spm_verbose_e

Verbose modes.

Enumerator
SpmVerboseNot 

Nothing

SpmVerboseNo 

Default

SpmVerboseYes 

Extended

Definition at line 48 of file const.h.

◆ spm_coeftype_e

Arithmetic types.

This describes the different arithmetics that can be stored in a sparse matrix.

Remarks
The values start at 2 for compatibility purpose with PLASMA and DPLASMA libraries.
Enumerator
SpmPattern 

Pattern only, no values are stored

SpmFloat 

Single precision real

SpmDouble 

Double precision real

SpmComplex32 

Single precision complex

SpmComplex64 

Double precision complex

Definition at line 61 of file const.h.

◆ spm_fmttype_e

Sparse matrix format.

Enumerator
SpmCSC 

Compressed sparse column

SpmCSR 

Compressed sparse row

SpmIJV 

Coordinates

Definition at line 72 of file const.h.

◆ spm_error_e

Error codes.

Enumerator
SPM_SUCCESS 

No error

SPM_ERR_UNKNOWN 

Unknown error

SPM_ERR_ALLOC 

Allocation error

SPM_ERR_NOTIMPLEMENTED 

Not implemented feature

SPM_ERR_OUTOFMEMORY 

Not enough memory

SPM_ERR_THREAD 

Error with threads

SPM_ERR_INTERNAL 

Internal error

SPM_ERR_BADPARAMETER 

Bad parameters given

SPM_ERR_FILE 

Error in In/Out operations

SPM_ERR_INTEGER_TYPE 

Error with integer types

SPM_ERR_IO 

Error with input/output

SPM_ERR_MPI 

Error with MPI calls

Definition at line 81 of file const.h.

◆ spm_driver_e

The list of matrix driver readers and generators.

Enumerator
SpmDriverRSA 

RSA Fortran driver (deprecated)

SpmDriverHB 

Harwell Boeing driver

SpmDriverIJV 

IJV Coordinate driver

SpmDriverMM 

Matrix Market C driver

SpmDriverLaplacian 

3, 5, or 7 points Laplacian stencil generator

SpmDriverXLaplacian 

15-points Laplacian stencil generator

SpmDriverGraph 

Scotch Graph driver

SpmDriverSPM 

SPM matrix driver

Definition at line 99 of file const.h.

◆ spm_rhstype_e

How to generate RHS.

Definition at line 124 of file const.h.

◆ spm_layout_e

Direction of the matrix storage.

Enumerator
SpmRowMajor 

Storage in row major order

SpmColMajor 

Storage in column major order

Definition at line 146 of file const.h.

◆ spm_trans_e

Transpostion.

Enumerator
SpmNoTrans 

Use A

SpmTrans 

Use A^t

SpmConjTrans 

Use conj(A^t)

Definition at line 154 of file const.h.

◆ spm_mtxtype_e

Matrix symmetry type property.

Remarks
Must match transposition.
Enumerator
SpmGeneral 

The matrix is general

SpmSymmetric 

The matrix is symmetric

SpmHermitian 

The matrix is hermitian

Definition at line 164 of file const.h.

◆ spm_uplo_e

enum spm_uplo_e

Upper/Lower part.

Enumerator
SpmUpper 

Use lower triangle of A

SpmLower 

Use upper triangle of A

SpmUpperLower 

Use the full A

Definition at line 173 of file const.h.

◆ spm_diag_e

enum spm_diag_e

Diagonal.

Enumerator
SpmNonUnit 

Diagonal is non unitary

SpmUnit 

Diagonal is unitary

Definition at line 182 of file const.h.

◆ spm_side_e

enum spm_side_e

Side of the operation.

Enumerator
SpmLeft 

Apply operator on the left

SpmRight 

Apply operator on the right

Definition at line 190 of file const.h.

◆ spm_normtype_e

Norms.

Enumerator
SpmOneNorm 

One norm: max_j( sum_i( |a_{ij}| ) )

SpmFrobeniusNorm 

Frobenius norm: sqrt( sum_{i,j} (a_{ij}^2) )

SpmInfNorm 

Inifinite norm: max_i( sum_j( |a_{ij}| ) )

SpmMaxNorm 

Max norm: max_{i,j}( | a_{ij} | )

Definition at line 198 of file const.h.

◆ spm_dir_e

enum spm_dir_e

Direction.

Enumerator
SpmDirForward 

Forward direction

SpmDirBackward 

Backward direction

Definition at line 208 of file const.h.