outram_foam_basic_lib/matrix/mod.rs
1// SPDX-License-Identifier: GPL-3.0-only
2// Copyright (C) 2026 OUTRAM PARK contributors
3// Derived from OpenFOAM (www.openfoam.com)
4// Copyright (C) 2004-2023 OpenFOAM Foundation
5// Copyright (C) 2016-2023 OpenCFD Ltd.
6//
7// This file is part of OUTRAM PARK.
8//
9// OUTRAM PARK is free software: you can redistribute it and/or modify it
10// under the terms of the GNU General Public License as published by the
11// Free Software Foundation, either version 3 of the License, or (at your
12// option) any later version.
13//
14// OUTRAM PARK is distributed in the hope that it will be useful, but
15// WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17// General Public License for more details.
18//
19// You should have received a copy of the GNU General Public License along
20// with OUTRAM PARK. If not, see <https://www.gnu.org/licenses/>.
21
22//! Dense square-matrix linear algebra.
23//!
24//! Provides [`SquareMatrix`](crate::matrix::square_matrix::SquareMatrix), a row-major `n×n` matrix of `f64` with in-place
25//! LU decomposition (Crout, scaled partial pivoting) and back-substitution — the
26//! direct linear solver used by the stiff ODE solver and other kernels. Failure
27//! to solve is reported through [`MatrixError`](crate::matrix::square_matrix::MatrixError). Entries are bare `f64`; the
28//! matrix carries no unit information.
29
30pub mod square_matrix;
31pub use square_matrix::MatrixError;
32pub use square_matrix::SquareMatrix;