Skip to main content

pounce_linalg/
lib.rs

1//! POUNCE linear algebra primitives.
2//!
3//! Port of Ipopt's `src/LinAlg/`: BLAS-1 (this phase), Vector / Matrix
4//! abstractions and concrete implementations (added incrementally
5//! through Phase 2), triplet storage and triplet→CSC conversion
6//! (Phase 4).
7
8#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
9
10pub mod blas1;
11pub mod compound_matrix;
12pub mod compound_vector;
13pub mod dense_gen_matrix;
14pub mod dense_sym_matrix;
15pub mod dense_vector;
16pub mod diag_matrix;
17pub mod expansion_matrix;
18pub mod low_rank_update_sym_matrix;
19pub mod matrix;
20pub mod multi_vector_matrix;
21pub mod scaled_matrix;
22pub mod special_matrix;
23pub mod sum_matrix;
24pub mod transpose_matrix;
25pub mod triplet;
26pub mod triplet_convert;
27pub mod vector;
28
29pub use compound_matrix::{
30    CompoundMatrix, CompoundMatrixSpace, CompoundSymMatrix, CompoundSymMatrixSpace,
31};
32pub use compound_vector::{CompoundVector, CompoundVectorSpace};
33pub use dense_gen_matrix::{DenseGenMatrix, DenseGenMatrixSpace};
34pub use dense_sym_matrix::{DenseSymMatrix, DenseSymMatrixSpace};
35pub use dense_vector::{DenseVector, DenseVectorSpace};
36pub use diag_matrix::DiagMatrix;
37pub use expansion_matrix::{ExpansionMatrix, ExpansionMatrixSpace};
38pub use low_rank_update_sym_matrix::{LowRankUpdateSymMatrix, LowRankUpdateSymMatrixSpace};
39pub use matrix::{Matrix, MatrixCache, SymMatrix};
40pub use multi_vector_matrix::{MultiVectorMatrix, MultiVectorMatrixSpace};
41pub use scaled_matrix::{
42    ScaledMatrix, ScaledMatrixSpace, ScalingReciprocal, SymScaledMatrix, SymScaledMatrixSpace,
43};
44pub use special_matrix::{IdentityMatrix, ZeroMatrix, ZeroSymMatrix};
45pub use sum_matrix::{SumMatrix, SumSymMatrix};
46pub use transpose_matrix::TransposeMatrix;
47pub use triplet::{GenTMatrix, GenTMatrixSpace, SymTMatrix, SymTMatrixSpace};
48pub use triplet_convert::{TriFull, TripletToCsrConverter};
49pub use vector::{Vector, VectorCache};