Skip to main content

Crate pounce_linalg

Crate pounce_linalg 

Source
Expand description

POUNCE linear algebra primitives.

Port of Ipopt’s src/LinAlg/: BLAS-1 (this phase), Vector / Matrix abstractions and concrete implementations (added incrementally through Phase 2), triplet storage and triplet→CSC conversion (Phase 4).

Re-exports§

pub use compound_matrix::CompoundMatrix;
pub use compound_matrix::CompoundMatrixSpace;
pub use compound_matrix::CompoundSymMatrix;
pub use compound_matrix::CompoundSymMatrixSpace;
pub use compound_vector::CompoundVector;
pub use compound_vector::CompoundVectorSpace;
pub use dense_gen_matrix::DenseGenMatrix;
pub use dense_gen_matrix::DenseGenMatrixSpace;
pub use dense_sym_matrix::DenseSymMatrix;
pub use dense_sym_matrix::DenseSymMatrixSpace;
pub use dense_vector::DenseVector;
pub use dense_vector::DenseVectorSpace;
pub use diag_matrix::DiagMatrix;
pub use expansion_matrix::ExpansionMatrix;
pub use expansion_matrix::ExpansionMatrixSpace;
pub use low_rank_update_sym_matrix::LowRankUpdateSymMatrix;
pub use low_rank_update_sym_matrix::LowRankUpdateSymMatrixSpace;
pub use matrix::Matrix;
pub use matrix::MatrixCache;
pub use matrix::SymMatrix;
pub use multi_vector_matrix::MultiVectorMatrix;
pub use multi_vector_matrix::MultiVectorMatrixSpace;
pub use scaled_matrix::ScaledMatrix;
pub use scaled_matrix::ScaledMatrixSpace;
pub use scaled_matrix::ScalingReciprocal;
pub use scaled_matrix::SymScaledMatrix;
pub use scaled_matrix::SymScaledMatrixSpace;
pub use special_matrix::IdentityMatrix;
pub use special_matrix::ZeroMatrix;
pub use special_matrix::ZeroSymMatrix;
pub use sum_matrix::SumMatrix;
pub use sum_matrix::SumSymMatrix;
pub use transpose_matrix::TransposeMatrix;
pub use triplet::GenTMatrix;
pub use triplet::GenTMatrixSpace;
pub use triplet::SymTMatrix;
pub use triplet::SymTMatrixSpace;
pub use triplet_convert::TriFull;
pub use triplet_convert::TripletToCsrConverter;
pub use vector::Vector;
pub use vector::VectorCache;

Modules§

blas1
Reference BLAS-1 in Rust.
compound_matrix
Block matrices — port of LinAlg/IpCompoundMatrix.{hpp,cpp} and LinAlg/IpCompoundSymMatrix.{hpp,cpp}.
compound_vector
Block vector — port of LinAlg/IpCompoundVector.{hpp,cpp}.
dense_gen_matrix
Dense general matrix — port of LinAlg/IpDenseGenMatrix.{hpp,cpp}.
dense_sym_matrix
Dense symmetric matrix — port of LinAlg/IpDenseSymMatrix.{hpp,cpp}.
dense_vector
Dense (contiguous) vector — port of LinAlg/IpDenseVector.{hpp,cpp}.
diag_matrix
Diagonal matrices.
expansion_matrix
Expansion / projection matrices.
low_rank_update_sym_matrix
Symmetric matrix represented as a low-rank update — port of LinAlg/IpLowRankUpdateSymMatrix.{hpp,cpp}.
matrix
Matrix trait + cache machinery.
multi_vector_matrix
Matrix stored as a list of column vectors — port of LinAlg/IpMultiVectorMatrix.{hpp,cpp}.
scaled_matrix
Diagonal-scaling wrappers.
special_matrix
ZeroMatrix, ZeroSymMatrix, IdentityMatrix.
sum_matrix
Linear combinations of matrices.
transpose_matrix
Implicit transpose wrapper.
triplet
Triplet-format matrix storage — port of LinAlg/TMatrices/IpGenTMatrix.{hpp,cpp} and IpSymTMatrix.{hpp,cpp}.
triplet_convert
Triplet → compressed-row converter.
vector
Vector trait + cache machinery.