H2Lib  3.0
aca.h
Go to the documentation of this file.
1 /* ------------------------------------------------------------
2  This is the file "aca.h" of the H2Lib package.
3  All rights reserved, Sven Christophersen 2012
4  ------------------------------------------------------------ */
5 
12 #ifndef ACA_H_
13 #define ACA_H_
14 
15 /* C STD LIBRARY */
16 
17 /* CORE 0 */
18 #include "settings.h"
19 /* CORE 1 */
20 #include "amatrix.h"
21 /* CORE 2 */
22 #include "rkmatrix.h"
23 /* CORE 3 */
24 /* SIMPLE */
25 /* PARTICLES */
26 /* BEM */
27 
50 typedef void (*matrixentry_t)(const uint *ridx, const uint *cidx, void *data,
51  const bool ntrans, pamatrix N);
52 
77  uint **ridx, uint **cidx, prkmatrix R);
78 
114 HEADER_PREFIX void
115 decomp_partialaca_rkmatrix(matrixentry_t entry, void *data, const uint *ridx,
116  const uint rows, const uint *cidx, const uint cols, real accur,
117  uint **rpivot, uint **cpivot, prkmatrix R);
118 
141 HEADER_PREFIX void
142 copy_lower_aca_amatrix(bool unit, pcamatrix A, uint *xi, pamatrix B);
143 
166 HEADER_PREFIX void
167 copy_upper_aca_amatrix(bool unit, pcamatrix A, uint *xi, pamatrix B);
168 
171 #endif /* ACA_H_ */
172 
void decomp_fullaca_rkmatrix(pamatrix A, const real accur, uint **ridx, uint **cidx, prkmatrix R)
This routine computes the adaptive cross approximation using full pivoting of a given matrix ...
void decomp_partialaca_rkmatrix(matrixentry_t entry, void *data, const uint *ridx, const uint rows, const uint *cidx, const uint cols, real accur, uint **rpivot, uint **cpivot, prkmatrix R)
This routine computes the adaptive cross approximation using partial pivoting of an implicitly given ...
void copy_upper_aca_amatrix(bool unit, pcamatrix A, uint *xi, pamatrix B)
Copies the upper triangular part of a matrix A to a matrix B after applying the row pivoting denoted ...
unsigned uint
Unsigned integer type.
Definition: settings.h:70
void(* matrixentry_t)(const uint *ridx, const uint *cidx, void *data, const bool ntrans, pamatrix N)
Matrix entry callback.
Definition: aca.h:50
void copy_lower_aca_amatrix(bool unit, pcamatrix A, uint *xi, pamatrix B)
Copies the lower triangular part of a matrix A to a matrix B after applying the row pivoting denoted ...
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
double real
real floating point type.
Definition: settings.h:97
Representation of a low-rank matrix in factorized form .
Definition: rkmatrix.h:36
Representation of a matrix as an array in column-major order.
Definition: amatrix.h:43