# PCH2OPUS
"h2opus" - A preconditioner type for, `MATH2OPUS`, hierarchical matrices using the H2Opus package. 
## Options Database Keys

- ***-pc_type h2opus -*** pc type to "h2opus" during a call to `PCSetFromOptions()`
- ***-pc_h2opus_maxits -*** maximum number of iterations for Newton-Schultz
- ***-pc_h2opus_monitor -*** monitor Newton-Schultz convergence
- ***-pc_h2opus_atol -*** absolute tolerance
- ***-pc_h2opus_rtol -*** relative tolerance
- ***-pc_h2opus_norm_type -*** normtype
- ***-pc_h2opus_hyperorder -*** Hyper power order of sampling
- ***-pc_h2opus_leafsize -*** leaf size when constructed from kernel
- ***-pc_h2opus_eta -*** admissibility condition tolerance
- ***-pc_h2opus_maxrank -*** maximum rank when constructed from matvecs
- ***-pc_h2opus_samples -*** number of samples to be taken concurrently when constructing from matvecs
- ***-pc_h2opus_mrtol -*** relative tolerance for construction from sampling
- ***-pc_h2opus_forcecpu -*** force construction of preconditioner on CPU





## See Also
 `MATH2OPUS`, `MATHTOOL`, `MATDENSE`, `MatCreateH2OpusFromKernel()`, `MatCreateH2OpusFromMat()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/h2opus/pch2opus.c.html#PCH2OPUS">src/ksp/pc/impls/h2opus/pch2opus.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex21.c.html">src/ksp/ksp/tutorials/ex21.c.html</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/h2opus/pch2opus.c)


[Index of all PC routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
