#![warn(missing_docs)]
#![warn(clippy::all)]
#![allow(clippy::module_name_repetitions)]
#![allow(clippy::assign_op_pattern)]
#![allow(clippy::type_complexity)]
#![allow(clippy::needless_range_loop)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::multiple_bound_locations)]
#![allow(clippy::doc_overindented_list_items)]
#![allow(clippy::ptr_arg)]
#![allow(clippy::manual_memcpy)]
#![allow(clippy::mut_range_bound)]
#![allow(clippy::collapsible_if)]
#![allow(clippy::only_used_in_recursion)]
#![allow(clippy::manual_strip)]
#![allow(clippy::iter_cloned_collect)]
#![allow(clippy::nonminimal_bool)]
#![allow(clippy::eq_op)]
#![allow(clippy::unwrap_or_default)]
#![allow(clippy::unnecessary_unwrap)]
#![allow(clippy::neg_cmp_op_on_partial_ord)]
pub mod cholesky;
pub mod error;
pub mod evd;
pub mod info;
pub mod lu;
pub mod qr;
pub mod solve;
pub mod svd;
pub mod utils;
pub mod workspace;
pub mod prelude {
pub use crate::cholesky::{
BandCholesky, BandCholeskyError, Cholesky, CholeskyError, Ldlt, LdltError,
band_lower_to_dense, dense_to_band_lower,
};
pub use crate::error::{
ErrorCategory, ErrorCode, HasInfoCode, INFO_SUCCESS, InfoCode, IntoLapackError,
LapackError, LapackResult,
};
pub use crate::evd::{
Eigenvalue, EigenvalueSelector, GeneralEvd, GeneralEvdError, Hessenberg, HessenbergError,
Schur, SchurError, SymmetricEvd, SymmetricEvdDc, SymmetricEvdDcError, SymmetricEvdError,
TridiagEvd, TridiagEvdError, count_eigenvalues, eigenvalue_bounds, eigenvalues_by_index,
eigenvalues_in_range,
};
pub use crate::info::{
CholeskyInfo, EvdInfo, LuInfo, QrInfo, SvdInfo, SymmetricEvdInfo, compute_cholesky_info,
compute_general_evd_info, compute_lu_info, compute_qr_info, compute_svd_info,
compute_symmetric_evd_info,
};
pub use crate::lu::{
BandLu, BandLuError, Lu, LuError, LuFullPiv, LuFullPivError, band_to_dense, dense_to_band,
};
pub use crate::qr::{Qr, QrError, QrPivot, QrPivotError};
pub use crate::solve::{
Equilibrate, ExpertCholeskySolveError, ExpertCholeskySolveResult, ExpertSolveError,
ExpertSolveResult, ExpertSymmetricSolveError, ExpertSymmetricSolveResult,
LeastSquaresResult, LstSqError, RefinementError, RefinementResult, SolveError,
TriangularKind, TriangularSolveError, TridiagError, TridiagFactors, TridiagSPDFactors,
lstsq, refine_solution, refine_solution_cholesky, refine_solution_symmetric, solve,
solve_cholesky_expert, solve_expert, solve_multiple, solve_symmetric_expert,
solve_triangular, solve_triangular_multiple, tridiag_factor, tridiag_factor_spd,
tridiag_solve, tridiag_solve_factored, tridiag_solve_factored_spd, tridiag_solve_multiple,
tridiag_solve_spd,
};
pub use crate::svd::{
BidiagError, BidiagFactors, BidiagVect, RandomizedSvd, RandomizedSvdConfig,
RandomizedSvdError, SelectiveSvd, SelectiveSvdError, Side, SingularValueSelector, Svd,
SvdDc, SvdDcError, SvdError, Trans, count_singular_values_above, gebrd,
low_rank_approximation, orgbr, ormbr, rsvd, rsvd_power, singular_value_bounds, ungbr,
unmbr,
};
pub use crate::utils::{
CondError, DetError, InvError, PinvResult, RankError, col_space, cond, cond_1, cond_inf,
det, det_lu, inv, left_null_space, norm_1, norm_2, norm_frobenius, norm_inf, norm_max,
norm_nuclear, null_space, nullity, pinv, pinv_default, rank, rcond, rcond_estimate,
row_space, trace,
};
pub use crate::workspace::{
EvdWorkspaceQuery, SvdWorkspaceQuery, Workspace, WorkspaceQuery, WorkspaceQueryWithInt,
band_lu_workspace, bidiag_workspace, cholesky_solve_workspace, cholesky_workspace,
general_evd_workspace, generalized_evd_workspace, hermitian_evd_workspace,
hessenberg_workspace, ldlt_workspace, least_squares_workspace, lu_solve_workspace,
lu_workspace, optimal_block_size_bidiag, optimal_block_size_cholesky,
optimal_block_size_evd, optimal_block_size_hessenberg, optimal_block_size_lu,
optimal_block_size_qr, optimal_block_size_trsm, orgqr_workspace, ormqr_workspace,
qr_pivot_workspace, qr_workspace, qz_workspace, schur_workspace, svd_dc_workspace,
svd_workspace, symmetric_evd_dc_workspace, symmetric_evd_workspace,
triangular_solve_workspace, tridiagonal_solve_workspace,
};
}