This package implements the preconditioners in [1] in MATLAB.
Just clone this repository. Our scripts depend on SuiteSparse; download and place it in the directory root.
.
├── 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.
This work was supported by the Novo Nordisk Foundation under grant number NNF20OC0061894.