Skip to content

andreasbock/bldp-matlab

Repository files navigation

bldp - Bregman Log Determinant Preconditioner

This package implements the preconditioners in [1] in MATLAB.

[1] Bock, Andreas A., Martin S. Andersen. "A New Matrix Truncation Method for Improving Approximate Factorisation Preconditioners." arXiv preprint arXiv:2312.06417 (2023).

Installation

Just clone this repository. Our scripts depend on SuiteSparse; download and place it in the directory root.

Repository structure

.
├── example_truncations.m      # Contains a small example illustrating the main idea in presented in [1].
├── example_bldp.m             # Solve a few linear systems using the various preconditioners from `bldp.m`. 
├── bldp.m                     # Main library for computing the preconditioners from [1]. Implements
│                              # exact truncations and approximations using randomised Nyström and Krylov-Schur.
├── run_pcg_small_matrices.m   # Run experiments from [1] for smaller matrices (compares exact truncations
│                              # to Krylov-Schur/Nyström approximations).
├── run_pcg_matrix.m           # Script to run experiments [1] for large matrices (uses Krylov-Schur and Nyström
│                              # to approximate the truncations).
├── utils                      # SuiteSparse helper functions and various plotting functions.
├── tests                      # Contains some tests.
├── LICENSE
└── README.md                  # This file.

Acknowledgements

This work was supported by the Novo Nordisk Foundation under grant number NNF20OC0061894.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published