The main changes include:
-
Extend module
polykin.math:- add machine constants module
polykin.math.machineand expose it at the top-levelmathnamespace. - add optimization subpackage
polykin.math.optimizationwith:- one-dimensional methods:
fmin_brent,fmin_secant. - multidimensional methods:
fmin_qnewton,fmin_nelder_mead. - shared global strategies/utilities:
line_search,dogleg. - dedicated optimization result types:
OptimumResult,VectorOptimumResult.
- one-dimensional methods:
- add machine constants module
-
Extend/refactor module
polykin.math.fixpoint:- add new fixed-point solvers:
fixpoint_damped,fixpoint_dem,fixpoint_steffensen. - update existing solvers (including Anderson and Wegstein implementations) for improved consistency with the new math infrastructure.
- add new fixed-point solvers:
-
Refactor module
polykin.math.roots:- move q-Newton vector root solver implementation to
polykin.math.roots.qnewton. - keep scalar/root result APIs while aligning internals with shared machine constants and optimization helpers.
- move q-Newton vector root solver implementation to
-
Improve numerical infrastructure in
polykin.math.derivativesandpolykin.math.special:- substantial updates to numerical differentiation routines.
- internal cleanup of special-function implementations.
-
Internal consistency updates across the codebase:
- migrate numerical precision constants usage from
polykin.utils.mathtopolykin.math.machine. - update dependent modules in kinetics, transport, thermo, properties, and copolymerization to use the new math utilities.
- migrate numerical precision constants usage from
-
Compatibility notes:
- imports from
polykin.math.roots.vectorshould be migrated to the current roots API. - code importing
eps,huge, ortinyfrompolykin.utils.mathshould migrate topolykin.math.machine.
- imports from