MatCreateHtoolFromKernel#

Creates a MATHTOOL from a user-supplied kernel.

Synopsis#

PetscErrorCode MatCreateHtoolFromKernel(MPI_Comm comm, PetscInt m, PetscInt n, PetscInt M, PetscInt N, PetscInt spacedim, const PetscReal coords_target[], const PetscReal coords_source[], MatHtoolKernelFn *kernel, void *kernelctx, Mat *B)

Collective; No Fortran Support

Input Parameters#

  • comm - MPI communicator

  • m - number of local rows (or PETSC_DECIDE to have calculated if M is given)

  • n - number of local columns (or PETSC_DECIDE to have calculated if N is given)

  • M - number of global rows (or PETSC_DETERMINE to have calculated if m is given)

  • N - number of global columns (or PETSC_DETERMINE to have calculated if n is given)

  • spacedim - dimension of the space coordinates

  • coords_target - coordinates of the target

  • coords_source - coordinates of the source

  • kernel - computational kernel (or NULL)

  • kernelctx - kernel context (if kernel is NULL, the pointer must be of type htool::VirtualGenerator<PetscScalar> *)

Output Parameter#

  • B - matrix

Options Database Keys#

  • -mat_htool_max_cluster_leaf_size size - maximal leaf size in cluster tree

  • -mat_htool_epsilon epsilon - relative error in Frobenius norm when approximating a block

  • -mat_htool_eta eta - admissibility condition tolerance

  • -mat_htool_min_target_depth depth - minimal cluster tree depth associated with the rows

  • -mat_htool_min_source_depth depth - minimal cluster tree depth associated with the columns

  • -mat_htool_block_tree_consistency (false|true) - block tree consistency

  • -mat_htool_recompression (false|true) - use recompression

  • -mat_htool_compressor (sympartialACA|fullACA|SVD) - type of compression

  • -mat_htool_clustering (PCARegular|PCAGeometric|BoundingBox1Regular|BoundingBox1Geometric) - type of clustering

See Also#

Matrices, Mat, MatCreate(), MATHTOOL, PCSetCoordinates(), MatHtoolSetKernel(), MatHtoolCompressorType, MatHtoolClusteringType, MatHtoolGetEpsilon(), MatHtoolSetEpsilon(), MatHtoolGetEta(), MatHtoolSetEta(), MatHtoolGetMaxClusterLeafSize(), MatHtoolSetMaxClusterLeafSize(), MatHtoolGetMinTargetDepth(), MatHtoolSetMinTargetDepth(), MatHtoolGetMinSourceDepth(), MatHtoolSetMinSourceDepth(), MatHtoolGetBlockTreeConsistency(), MatHtoolSetBlockTreeConsistency(), MatHtoolGetCompressorType(), MatHtoolSetCompressorType(), MatHtoolGetClusteringType(), MatHtoolSetClusteringType(), MATH2OPUS, MatCreateH2OpusFromKernel()

Level#

intermediate

Location#

src/mat/impls/htool/htool.c

Examples#

src/ksp/ksp/tutorials/ex82.c


Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages