mod condition;
mod determinant;
pub mod equilibrate;
pub mod error_bounds;
mod inverse;
mod kronecker;
mod matfun;
mod norms;
mod rank_null;
pub use crate::evd::balance::{Balance, BalanceError, BalanceJob, BalanceSide, gebak, gebal};
pub use condition::{CondError, cond, cond_1, cond_inf, rcond, rcond_estimate};
pub use determinant::{DetError, det, det_lu};
pub use equilibrate::{
EquilibrateError, EquilibrationInfo, apply_col_scale, apply_row_scale, apply_scale, geequ,
geequb, scale_rhs, syequ, unscale_solution,
};
pub use error_bounds::{
LinearSystemError, analyze_linear_system_error, backward_error, compute_residual,
eigenvalue_residual, forward_error_bound, matrix_norm_1, matrix_norm_frobenius,
matrix_norm_inf, orthogonality_defect, relative_residual_norm, residual_norm,
svd_singular_value_residual, vector_norm_2, vector_norm_inf,
};
pub use inverse::{InvError, PinvResult, inv, pinv, pinv_default};
pub use kronecker::{
commutation_matrix, duplication_matrix, elimination_matrix, khatri_rao, kron, kron_sum,
kron_vec, unvec, vec_mat,
};
pub use matfun::{
MatFunError, cond_expm, cosm, expm, frechet_expm, frechet_logm, frechet_sqrtm, logm, powm,
signm, sinm, sqrtm,
};
pub use norms::{
TraceError, norm_1, norm_2, norm_frobenius, norm_inf, norm_max, norm_nuclear, trace,
};
pub use rank_null::{RankError, col_space, left_null_space, null_space, nullity, rank, row_space};