Skip to content

Commit d3a0c62

Browse files
change changelog
1 parent 05c4428 commit d3a0c62

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed

CHANGELOG.md

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,41 @@ All notable changes to this project will be documented in this file.
2626

2727
## Unreleased
2828

29+
## [0.9.0] - 2024-09-19
30+
2931
### Added
3032

31-
- `set_delay_dense_computation` to `HMatrix`
33+
- The old implementation of `HMatrix` was mixing the distributed operations and compression via hierarchical matrices. This is fixed by replacing `HMatrix` by:
34+
- `DistributedOperator` which contains a list of local operators and implements all the distributed operations,
35+
- `VirtualLocalOperator` which is the interface local operators must satisfy,
36+
- `LocalDenseMatrix` is an example of local operator consisting of a dense matrix `Matrix`,
37+
- and `LocalHMatrix` is an example of local operator consisting of a hierarchical matrix based on `HMatrix` (different from the previous `HMatrix`, see below).
38+
- Utility classes that help build `DistributedOperator` and `DDM` objects are available, for example: `DefaultApproximationBuilder` and `DDMSolverBuilder`. They do all the wiring between the inner interfaces between Htool-DDM's objects, see `include/htool/istributed_operator/utility.hpp` and `include/htool/solvers/utility.hpp`.
39+
- Formatter has been added, see `.clang_format`.
40+
- A logger has been added with `Logger`. Its output can be customizerd via `IObjectWriter`.
3241

3342
### Changed
3443

35-
### Fixed
44+
- `HMatrix` is now a class representing a hierarchical matrix without distributed-memory parallelism (note that it can still use shared-memory parallelism):
45+
- It inherits from `TreeNode`, and it provides the algebra related to hierarchical matrices via free functions:
46+
- product with vector and matrix (threaded with OpenMP),
47+
- and with this new version, LU and Cholesky factorization (not threaded yet, WIP).
48+
- The algorithms for building the block cluster tree is contained in `HMatrixTreeBuilder`. Users can provide their own "factory".
49+
- `VirtualCluster` is removed and the clustering part of the library has been rewritten:
50+
- `Cluster` now derives from `TreeNode`, whose template parameter corresponds to the precision of cluster nodes' radius and centre (previously only `double`).
51+
- Standards recursive build algorithms are provided via `ClusterTreeBuilder`. Users can provide their own "factory".
52+
- `ClusterTreeBuilder` is a class template and uses the policy pattern (a policy for computing direction, and another for splitting along the direction).
53+
- `DDM` has been modified, one-level and two-level preconditioners can be customized now via `VirtualLocalSolver`, `VirtualCoarseSpaceBuilder` and `VirtualCoarseOperatorBuilder`.
54+
- Three one-level preconditioners are provided by Htool-DDM via `DDMSolverBuilder`:
55+
- block-jacobi with a local HMatrix
56+
- a DDM preconditioner where the local subdomain with overlap uses one HMatrix
57+
- a DDM preconditioner where the local subdomain with overlap uses one HMatrix for the local subdomain without overlap, and dense matrices for the overlap and its interaction with the subdomain without overlap.
58+
- A second-level (GenEO coarse space) is provided with `GeneoCoarseSpaceDenseBuilder` and `GeneoCoarseOperatorBuilder`.
59+
60+
### Removed
61+
62+
- `multilrmat` and `multihmatrix` are removed.
3663

37-
- Fix const-correctness for g++ 4.8.5
38-
-
3964
## [0.8.1] - 2023-05-26
4065

4166
### Added
@@ -60,8 +85,8 @@ All notable changes to this project will be documented in this file.
6085
### Added
6186

6287
- doxygen documentation
63-
- mvprod_transp_global_to_global and mvprod_transp_local_to_local added to VirtualHMatrix
64-
- getters for clusters in VirtualHMatrix
88+
- mvprod_transp_global_to_global and mvprod_transp_local_to_local added to `VirtualHMatrix`
89+
- getters for clusters in `VirtualHMatrix`
6590
- custom gmv in ddm
6691

6792
### Changed
@@ -80,12 +105,12 @@ All notable changes to this project will be documented in this file.
80105
- Test for warnings coming from `include/htool/*`
81106
- Coverage added
82107
- Methods in ddm interface to get local numbering
83-
- VirtualLowRankGenerator and VirtualAdmissibilityCondition added for better modularity
108+
- `VirtualLowRankGenerator` and `VirtualAdmissibilityCondition` added for better modularity
84109

85110
### Changed
86111

87112
- Remove unnecessary arguments in HMatrix and cluster interfaces
88-
- MutliHMatrix deprecated for the moment (everything related to this in `htool/multi`)
113+
- `MultiHMatrix` deprecated for the moment (everything related to this in `htool/multi`)
89114

90115
### Fixed
91116

0 commit comments

Comments
 (0)