mathhook_core/
algebra.rs

1//! Algebraic operations and traits for the hybrid API
2
3pub mod advanced_simplify;
4pub mod collect;
5pub mod complex;
6pub mod diagonal_matrix_tests;
7pub mod equation_analyzer;
8pub mod expand;
9pub mod factor;
10pub mod gcd;
11pub mod groebner;
12pub mod matrix_correctness_tests;
13pub mod multivariate_gcd;
14pub mod polynomial_advanced;
15pub mod polynomial_division;
16pub mod rational;
17pub mod root_finding;
18pub mod simplification;
19pub mod solvers;
20pub mod zero_detection;
21
22// Re-export the actual traits from their modules
23pub use advanced_simplify::AdvancedSimplify;
24pub use collect::Collect;
25pub use complex::ComplexOperations;
26pub use expand::Expand;
27pub use factor::Factor;
28pub use gcd::PolynomialGcd;
29pub use polynomial_advanced::AdvancedPolynomial;
30pub use rational::RationalSimplify;
31pub use zero_detection::ZeroDetection;
32
33// Re-export polynomial division functions
34pub use polynomial_division::{polynomial_div, polynomial_quo, polynomial_rem};
35
36// Re-export Expression-based GCD functions (primary location)
37pub use gcd::{polynomial_gcd, univariate_gcd, univariate_gcd_modular};
38
39// Re-export solver types
40pub use equation_analyzer::{EquationAnalyzer, EquationType, SmartEquationSolver};
41pub use solvers::{EquationSolver, SolverResult as AlgebraSolverResult};
42
43// Re-export Gröbner basis types and functions
44pub use groebner::{
45    buchberger_algorithm, poly_reduce, poly_reduce_completely, s_polynomial, GroebnerBasis,
46    MonomialOrder, MonomialOrdering,
47};
48
49// Re-export simplification system
50pub use simplification::{
51    get_simplification_registry, SimplificationRegistry, SimplificationStrategy,
52    SIMPLIFICATION_REGISTRY,
53};
54
55// Re-export polynomial traits and ops
56pub use crate::core::polynomial::finite_field::{
57    is_prime, FiniteFieldError, FiniteFieldResult, PolyZp, Zp,
58};
59pub use crate::core::polynomial::poly::IntPoly;
60pub use multivariate_gcd::multivariate_gcd;