opensrdk_linear_algebra/matrix/
mod.rs1use std::error::Error;
2
3pub mod bd;
4pub mod ci;
5pub mod di;
6pub mod ge;
7pub mod gt;
8pub mod kr;
9pub mod sp_hp;
10pub mod ss;
11pub mod st;
12pub mod to;
13
14pub use bd::*;
15pub use ci::*;
16pub use di::*;
17pub use ge::{
18 or_un::*,
19 sy_he::{po::*, *},
20 tr::*,
21 *,
22};
23pub use gt::*;
24pub use kr::*;
25pub use sp_hp::{pp::*, *};
26pub use ss::*;
27pub use st::{pt::*, *};
28pub use to::*;
29
30#[derive(thiserror::Error, Debug)]
31pub enum MatrixError {
32 #[error("Dimension mismatch.")]
33 DimensionMismatch,
34 #[error("BLAS routine error. routine: {routine}, info: {info}")]
35 BlasRoutineError { routine: String, info: i32 },
36 #[error("LAPACK routine error. routine: {routine}, info: {info}")]
37 LapackRoutineError { routine: String, info: i32 },
38 #[error("Others")]
39 Others(Box<dyn Error + Send + Sync>),
40}