Skip to content

polykin 0.8.0

Latest

Choose a tag to compare

@HugoMVale HugoMVale released this 30 May 15:38

The main changes include:

  • Extend module polykin.math:

    • add machine constants module polykin.math.machine and expose it at the top-level math namespace.
    • add optimization subpackage polykin.math.optimization with:
      • 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.
  • 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.
  • 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.
  • Improve numerical infrastructure in polykin.math.derivatives and polykin.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.math to polykin.math.machine.
    • update dependent modules in kinetics, transport, thermo, properties, and copolymerization to use the new math utilities.
  • Compatibility notes:

    • imports from polykin.math.roots.vector should be migrated to the current roots API.
    • code importing eps, huge, or tiny from polykin.utils.math should migrate to polykin.math.machine.