Skip to main content

oxicuda_solver/dense/
mod.rs

1//! Dense matrix decompositions and solvers.
2//!
3//! This module provides GPU-accelerated implementations of the core dense
4//! linear algebra algorithms: LU, QR, Cholesky, SVD, eigendecomposition,
5//! matrix inverse, determinant, and least squares.
6
7pub mod band;
8pub mod batched;
9pub mod cholesky;
10pub mod dc_svd;
11pub mod det;
12pub mod eig;
13pub mod inverse;
14pub mod ldlt;
15pub mod lstsq;
16pub mod lu;
17pub mod matrix_functions;
18pub mod ode_pde;
19pub mod qr;
20pub mod qz;
21pub mod randomized_svd;
22pub mod svd;
23pub mod tensor_decomp;
24pub mod tridiagonal;
25
26// Re-exports of primary types and functions.
27pub use band::{BandMatrix, band_cholesky, band_lu, band_solve};
28pub use batched::{BatchAlgorithm, BatchConfig, BatchedResult, BatchedSolver};
29pub use cholesky::{cholesky, cholesky_solve};
30pub use dc_svd::{DcSvdConfig, dc_svd};
31pub use det::{determinant, log_determinant};
32pub use eig::{EigJob, syevd};
33pub use inverse::inverse;
34pub use ldlt::{LdltResult, ldlt, ldlt_solve};
35pub use lstsq::lstsq;
36pub use lu::{LuResult, lu_factorize, lu_solve};
37pub use matrix_functions::{
38    MatrixExpConfig, MatrixExpPlan, MatrixLogConfig, MatrixLogPlan, MatrixSqrtConfig,
39    MatrixSqrtPlan,
40};
41pub use ode_pde::{
42    AdvectionEquation1D, Bdf2Solver, BoundaryCondition, EulerSolver, Grid1D, Grid2D,
43    HeatEquation1D, ImplicitEulerSolver, OdeConfig, OdeMethod, OdeSolution, OdeSystem, PdeConfig,
44    Poisson1D, Rk4Solver, Rk45Solver, StepResult, WaveEquation1D, numerical_jacobian,
45    solve_tridiagonal as ode_solve_tridiagonal,
46};
47pub use qr::{qr_factorize, qr_generate_q, qr_solve};
48pub use qz::{
49    BalanceStrategy, EigenvalueType, QzConfig, QzPlan, QzResult, QzStep, ShiftStrategy,
50    classify_eigenvalue, estimate_qz_flops, plan_qz, qz_host, validate_qz_config,
51};
52pub use randomized_svd::{RandomizedSvdConfig, RandomizedSvdResult, randomized_svd};
53pub use svd::{SvdJob, SvdResult, svd};
54pub use tensor_decomp::{
55    CpAlsConfig, CpDecomposition, Matrix, Tensor, TtConfig, TtDecomposition, TuckerConfig,
56    TuckerDecomposition, cp_als, hadamard_product, khatri_rao_product, mode_n_product, tt_svd,
57    tucker_hooi, tucker_hosvd,
58};
59pub use tridiagonal::{batched_tridiagonal_solve, tridiagonal_solve};