Hierarchical matrix

Builder

class Htool.HMatrixTreeBuilder
build(self: Htool.HMatrixTreeBuilder, generator: htool::VirtualGenerator<double>, target_cluster: Htool.Cluster, source_cluster: Htool.Cluster, target_partition_number: typing.SupportsInt = -1, partition_number_for_symmetry: typing.SupportsInt = -1) htool::HMatrix<double, double>
set_dense_blocks_generator(self: Htool.HMatrixTreeBuilder, arg0: VirtualDenseBlocksGeneratorPython<double, double>) None
set_low_rank_generator(self: Htool.HMatrixTreeBuilder, arg0: VirtualLowRankGeneratorPython<double>) None
set_minimal_source_depth(self: Htool.HMatrixTreeBuilder, arg0: SupportsInt) None
set_minimal_target_depth(self: Htool.HMatrixTreeBuilder, arg0: SupportsInt) None

HMatrix

class Htool.HMatrix
__mul__(self: Htool.HMatrix, in: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) numpy.typing.NDArray[numpy.float64]
get_distributed_information(self: Htool.HMatrix, arg0: MPI_Comm_wrapper) dict[str, str]
get_local_information(self: Htool.HMatrix) dict[str, str]
get_source_cluster(self: Htool.HMatrix) Htool.Cluster
get_target_cluster(self: Htool.HMatrix) Htool.Cluster
get_tree_parameters(self: Htool.HMatrix) dict[str, str]
to_dense(self: Htool.HMatrix) numpy.typing.NDArray[numpy.float64]
to_dense_in_user_numbering(self: Htool.HMatrix) numpy.typing.NDArray[numpy.float64]

Low-rank compression

class Htool.VirtualLowRankGenerator
build_low_rank_approximation(self: Htool.VirtualLowRankGenerator, arg0: Annotated[numpy.typing.ArrayLike, numpy.int32], arg1: Annotated[numpy.typing.ArrayLike, numpy.int32], arg2: SupportsFloat) bool
clear_data(self: Htool.VirtualLowRankGenerator) None
set_U(self: Htool.VirtualLowRankGenerator, arg0: Annotated[numpy.typing.ArrayLike, numpy.float64]) None
set_V(self: Htool.VirtualLowRankGenerator, arg0: Annotated[numpy.typing.ArrayLike, numpy.float64]) None