1use core::fmt;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum EigenError {
6 EmptyEigenvector,
8 EmptyEigensystem,
10 EmptyEigenspace,
12}
13
14impl fmt::Display for EigenError {
15 fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
16 match self {
17 Self::EmptyEigenvector => {
18 formatter.write_str("eigenvector coordinates must not be empty")
19 },
20 Self::EmptyEigensystem => {
21 formatter.write_str("eigensystem must contain at least one eigenpair")
22 },
23 Self::EmptyEigenspace => {
24 formatter.write_str("eigenspace basis must contain at least one eigenvector")
25 },
26 }
27 }
28}
29
30impl std::error::Error for EigenError {}