6 #ifndef MYRAMATH_SPARSE_LAPLACIAN3_H 7 #define MYRAMATH_SPARSE_LAPLACIAN3_H 14 #include <myramath/MYRAMATH_EXPORT.h> 25 template<
class Number>
class SparseMatrix;
37 std::vector<int> size()
const;
40 int operator () (
int i,
int j,
int k)
const;
43 std::pair<Natural3D, Natural3D> i_split()
const;
46 std::pair<Natural3D, Natural3D> j_split()
const;
49 std::pair<Natural3D, Natural3D> k_split()
const;
54 Natural3D(
int in_I,
int in_i_begin,
int in_i_end,
int in_J,
int in_j_begin,
int in_j_end,
int in_K,
int in_k_begin,
int in_k_end);
57 int I, i_begin, i_end;
58 int J, j_begin, j_end;
59 int K, k_begin, k_end;
63 MYRAMATH_EXPORT
Pattern stencil3(
int I,
int J,
int K);
73 MYRAMATH_EXPORT
Permutation bisect3(
int I,
int J,
int K);
76 MYRAMATH_EXPORT
Pattern stencil3_unsymmetric(
int I,
int J,
int K,
double density = 0.5);
Represents a Permutation matrix, used to reorder rows/columns/etc of various numeric containers...
Definition: Permutation.h:34
A helper class that generates a natural ordering on a 3D structured grid of size IxJxK.
Definition: laplacian3.h:28
Various utility functions/classes related to scalar Number types.
Holds the nonzero pattern of a sparse matrix.
Definition: Pattern.h:55
Stores an IxJ matrix A in compressed sparse column format.
Definition: bothcat.h:23