scirs2_linalg/matrix_functions/mod.rs
1//! Matrix functions such as matrix exponential, logarithm, and square root
2//!
3//! This module provides a comprehensive set of matrix functions organized into
4//! logical categories. All functions maintain compatibility with the original
5//! scirs2_linalg API while providing better code organization.
6
7// Module declarations
8pub mod analysis;
9pub mod exponential;
10pub mod fractional;
11pub mod hyperbolic;
12pub mod special;
13pub mod trigonometric;
14pub mod utils;
15
16#[cfg(test)]
17mod tests;
18
19// Re-export all public functions to maintain API compatibility
20
21// Exponential functions
22pub use exponential::{expm, logm, logm_parallel, matrix_power, sqrtm, sqrtm_parallel};
23
24// Trigonometric functions
25pub use trigonometric::{acosm, asinm, atanm, cosm, sinm, tanm};
26
27// Hyperbolic functions
28pub use hyperbolic::{coshm, sinhm, tanhm};
29
30// Special functions
31pub use special::{sigmoid, signm, softmax};
32
33// Fractional functions
34pub use fractional::{fractionalmatrix_power, spdmatrix_function};
35
36// Analysis functions
37pub use analysis::{
38 geometric_mean_spd, nuclear_norm, polar_decomposition, spectral_condition_number,
39 spectral_radius, tikhonov_regularization,
40};
41
42// Utility functions (not re-exported to maintain clean public API)
43// These are available as matrix_functions::utils::function_name if needed