Introduction

This crate provides solvers for sparse symmetric systems of linear equations.

Algorithms implemented

  • MINRES
    • No preconditioning
    • Preconditioning through a "Black-Box" Interface

#![no_std] Environments

If your application requires #![no_std], make sure to disable default features. To do so add the following to your Cargo.toml:

[dependencies.s4ddle]
version = "*"
default-features = false

Minimal Residual Algorithm - MINRES

This method solves linear system in the following forms: $$ (A - s I ) x = b $$ $$ M (A - s I ) x = M b \quad x = M^\top y$$

Where \(A\) is a Real symmetric coefficient matrix (no assumption on its definiteness), \(s\) is a Real scalar value, \(I\) is the identity matrix, \(b\) is an arbitrary Real vector, \(M\) is a Real full-rank square preconditioning matrix (no assumption on its symmetry).

Internally, the preconditioned case is treated as follows: $$ M (A - s I ) M^\top y = M b , \quad x = M^\top y $$ which constitutes a symmetric system in terms of \(y\).

References:

  • C. C. Paige and M. A. Saunders (1975). "Solution of sparse indefinite systems of linear equations", SIAM J. Numerical Analysis 12, 617-629