IntegralEquations / HMatrices.jl

A Julia library for hierarchical matrices
MIT License
37 stars 3 forks source link

Improve the hierarchical `LU` factorization #22

Closed maltezfaria closed 1 year ago

maltezfaria commented 1 year ago

The current lu factorization is a bit hacky, and before trying to use DataFlowTasks to improve the parallel performance of the factorization it makes sense to factor things up a bit. In particular, this branch simplifies some of the logic involved in the algorithm for the hierarchical multiplication based on a dry run, together with the MulLinearOp structure which aids in assembling the low-rank approximations without allocating intermediate results.

codecov[bot] commented 1 year ago

Codecov Report

Merging #22 (6a7553e) into main (0d41571) will decrease coverage by 0.16%. The diff coverage is 73.44%.

@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
- Coverage   71.11%   70.94%   -0.17%     
==========================================
  Files          12       12              
  Lines        1395     1401       +6     
==========================================
+ Hits          992      994       +2     
- Misses        403      407       +4     
Impacted Files Coverage Δ
src/HMatrices.jl 100.00% <ø> (ø)
src/dhmatrix.jl 0.00% <0.00%> (ø)
src/partitions.jl 58.82% <53.33%> (+2.03%) :arrow_up:
src/hmatrix.jl 61.30% <67.45%> (-6.60%) :arrow_down:
src/rkmatrix.jl 69.69% <68.57%> (+1.80%) :arrow_up:
src/addition.jl 72.72% <76.31%> (+2.91%) :arrow_up:
src/compressor.jl 82.02% <78.94%> (+1.54%) :arrow_up:
src/utils.jl 80.30% <78.94%> (-3.91%) :arrow_down:
src/multiplication.jl 79.25% <88.59%> (+3.19%) :arrow_up:
src/kernelmatrix.jl 88.88% <100.00%> (ø)
... and 12 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.