PackageTrack
Sign in Get early access

advance_math

A robust Dart library for comprehensive mathematical programming. Offers expressions, complex numbers, algebra, statistics, angles, and geometry for diverse computations.

5.7.1 gameticharles/advance_math

What this package is like to depend on

Last release 2 months ago

09 Jun 2026

Release timing varies

gaps range from 8 days to 4 months

Nearly every release is documented

notes for 54 of 55 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

55 releases · first in 2023

19 releases in the last 12 months

see the full history below

Release timeline

55 releases · Jun 2023 to Jun 2026
2024 2025 2026
Release Pre-release

Releases

latest 55
  1. 5.7.1 09 Jun 2026
    Release notes

    Documentation Expansion & Metadata Optimization

    • [DOCUMENTATION] Extensively expanded README.md with comprehensive explanations, code examples, and usage cases for the symbolic calculus package (differentiation, integration, limits, summations), Laplace & Inverse Laplace transforms, and system equation solvers.
    • [IMPROVEMENT] Updated pubspec topics to expressions-cas to highlight the library's advanced Computer Algebra System capabilities.

    CAS Trigonometric Functions & Test Improvements

    • [FEATURE] Expanded Computer Algebra System (CAS) expression classes and parser to fully support inverse trigonometric (asec, acsc, acot), hyperbolic (sinh, cosh, tanh, sech, csch, coth), and inverse hyperbolic (asinh, acosh, atanh, asech, acsch, acoth) functions natively.
    • [IMPROVEMENT] Improved symbolic Laplace Transform and Inverse Laplace Transform computation (LaplaceTransform and InverseLaplaceTransform) with comprehensive mapping of standard functions..
    • [TEST] Enabled and verified more complex Inverse Laplace Transform test cases in extra_spec_test.dart.
    Open source →
  2. 5.7.0 08 Jun 2026
    Release notes

    Laplace Transforms, Symbolic Calculus & CAS Enhancements

    • [FEATURE] Implemented symbolic Laplace Transform and Inverse Laplace Transform computation (LaplaceTransform and InverseLaplaceTransform) with comprehensive mapping of standard functions.
    • [FEATURE] Added symbolic support for limits, summations, and definite integration (SymbolicLimit, SymbolicSum, and DefiniteIntegral).
    • [IMPROVEMENT] Extended basic math functions (abs, sqrt, cbrt, nthRoot, pow, exp, mod, min, max) to accept Expression parameters, yielding correct symbolic counterpart nodes.
    • [FEATURE] Improved absolute value Abs.simplify() logic to dynamically evaluate and strip/negate absolute signs for expressions with guaranteed non-negative/non-positive values (e.g. abs(5*x^2)).
    • [IMPROVEMENT] Rewrote and enhanced ExpressionSolver for systems of linear, quadratic, and cubic equations, adding robust variable isolation solving algorithms.
    • [IMPROVEMENT] Updated mode(), mean(), and average() in statistics to natively handle lists, varargs, and complex symbolic expressions.
    • [IMPROVEMENT] Implemented Gaussian Integer Division (operator ~/ for Complex) using nearest-integer rounding to ensure mathematical correctness in Euclidean domain calculations.
    • [IMPROVEMENT] Normalized real and imaginary parts of Complex numbers when denominator is 1 for consistent hash code evaluation.
    • [FEATURE] Expanded solid geometry with Capsule, ConeFrustum, Hemisphere, and HollowCylinder, and plane geometry with AnnulusSector and Kite.
    • [FEATURE] Added cumsum() helper function for iterables to calculate cumulative sums.
    • [IMPROVEMENT] Optimized numerical optimization, non-linear systems solver, and matrix factorization/decomposition performance.
    Open source →
  3. 5.6.1 24 May 2026
    Release notes

    Computer Algebra System (CAS) & Simplifier Overhaul

    • [FEATURE] Completely overhauled the core expression Simplifier into a robust fixed-point iteration engine (max 20 iterations) to guarantee convergence of multi-pass simplifications.
    • [FEATURE] Added recursive deep child simplification (_deepSimp), logarithmic simplifications (_logSimp), exponential simplifications (_expSimp), and power algebraic simplifications (_powSimp).
    • [IMPROVEMENT] Enhanced fraction and rational simplification passes (_fracSimp and _ratSimp) to support recursive tree traversal, symbolic variable cancellations (e.g. (c * A) / A -> c), negative sign normalization, and rational addition/subtraction with different denominators.
    • [FEATURE] Replaced fragile string-matching isSymbolic logic with type-based checking (_isSymbolicExpression) across all expression types.
    • [FEATURE] Added trigonometric identity simplification (e.g. $sin^2(x) + cos^2(x) = 1$, $1 + tan^2(x) = sec^2(x)$, and double-angle formulas) recursively across terms.
    • [IMPROVEMENT] Added trigonometric constant folding and parity rules (e.g., $sin(-x) \to -sin(x)$) to Sin, Cos, Tan, and base Trigonometric expressions.
    • [IMPROVEMENT] Added logarithm base and product/quotient splitting properties for literal inputs to Ln and Log functions.
    • [IMPROVEMENT] Added algebraic power expansion rules for products and quotients inside Pow expressions.
    • [FEATURE] Implemented 42 new high-coverage unit tests verifying arithmetic, power, fraction, logarithm, exponential, trigonometric, and complex nested/edge-case expressions, with zero regressions on existing suites.
    Open source →
  4. 5.6.0 24 May 2026
    Release notes

    Computer Algebra System (CAS) & Expressions

    • [FEATURE] Added comprehensive Computer Algebra System (CAS) support with fully-featured expression simplification and parsing.
    • [IMPROVEMENT] Advanced fraction/rational representation in the expression engine, replacing division-by-integer double conversions with precise Rational representation.
    • [BUG_FIX] Resolved expression type coercion issues where numeric literals were incorrectly forced into Complex types instead of standard numbers, resolving crash/type mismatches (Complex is not a subtype of double/num).
    • [BUG_FIX] Added robust parsing and representation for hyperbolic and inverse hyperbolic trigonometric functions (e.g., cosh, sinh, asinh, acosh) in CAS to prevent runtime evaluation failures.
    • [BUG_FIX] Optimized Rational division simplification in expression engine to prevent type mismatches when resolving division of integers and rational values.
    • [BUG_FIX] Fixed equation solvers (linear, quadratic, cubic) and Durand-Kerner polynomial root finding algorithm for better stability and correctness.
    • [IMPROVEMENT] Enhanced binary and unary operators (Add, Subtract, Multiply, Divide, Modulo, Power, Log) to support comprehensive CAS simplifications.

    Plane & Solid Geometry

    • [FEATURE] Added new solid geometry models:
      • Capsule: Cylinder with hemispherical end caps.
      • ConeFrustum: Frustum of a cone defined by bottom/top radii and height.
      • Hemisphere: Perfect hemisphere geometry support.
      • HollowCylinder: Hollow pipe/tube geometry representation.
    • [FEATURE] Added new plane geometry models:
      • AnnulusSector: Sector of a hollow circle/annulus.
      • Kite: Quadrilateral representing a geometric kite.
    • [IMPROVEMENT] Fixed and optimized mathematical calculations for Ellipse (generating coordinates, perimeter, and area).
    • [FEATURE] Integrated robust unit tests covering all new geometry additions in geometry_expansion_test.dart.

    Caching, Memoization & Core Math Efficiency

    • [IMPROVEMENT] Enhanced differentiation and integration performance by implementing efficient memoization and local caching mechanisms.
    • [FEATURE] Added cumsum() cumulative sum helper implementation to iterables extension (iterable_ext.dart) with optimized performance.
    • [IMPROVEMENT] Optimized matrix arithmetic and factorization/decomposition methods (including LU and SVD) to minimize computational overhead.

    Statistics & Cleanup

    • [IMPROVEMENT] Streamlined and cleaned the Z-Score module, updating sample code in example/zscore.dart and resolving statistical computation bugs.
    • [IMPROVEMENT] Cleaned up the core codebase, updated README.md, and added extensive test suites for caching, geometry, and CAS validation.
    Open source →
  5. 5.5.5 21 May 2026
    Release notes
    • [IMPROVEMENT] Fixed bugs
    Open source →
  6. 5.5.4 12 May 2026
    Release notes
    • [IMPROVEMENT] Fixed bugs
    Open source →
  7. 5.5.3 01 Apr 2026
    Release notes
    • [IMPROVEMENT] Fixed bugs
    Open source →
  8. 5.5.2 31 Mar 2026
    Release notes
    • [IMPROVEMENT] More integrations with the Complex number.
    Open source →
  9. 5.5.1 30 Mar 2026
    Release notes
    • [IMPROVEMENT] Initial migration to full complex number.
    Open source →
  10. 5.5.0 30 Mar 2026

    Nothing published for this version

  11. 5.4.4 15 Dec 2025
    Release notes
    • [IMPROVEMENT] Downgrade characters package to 1.4.0 to fix pubspec.yaml.
    Open source →
  12. 5.4.3 08 Dec 2025
    Release notes
    • [BUG_FIX] Fix bugs and clean code.
    Open source →
  13. 5.4.2 08 Dec 2025
    Release notes
    • [IMPROVEMENT] doc: Improve doc comment formatting by consistently using backticks for code references and ranges.
    • [FEATURE] Added ComplexArray for efficient storage and operations on complex numbers, including FFT and IFFT.
    • [FEATURE] Added Scalar, DartData, Series, DataFrame, DataCube, and NDArray support from dartframe.
    • [FEATURE] Added new statistical and interpolation methods, refactored documentation and number tests, and updated existing modules.
    Open source →
  14. 5.4.1 06 Dec 2025
    Release notes
    • [BUG_FIX] Fixed Csc.integrate crash and mathematical correctness
      • Corrected calculation of coefficients (e.g., 1/a) when a is a Complex number
      • Fixed csc(x)^2 integration to return correct -cot(x) instead of log formula
    • [BUG_FIX] Fixed integration logic for Sin, Cos, Tan, Cot, Sec to robustly handle Complex coefficients in linear substitutions (f(ax+b))
    • [BUG_FIX] Fixed crash in Variable multiplication with Complex numbers (partial evaluation)
      • Updated convertToLiteralIfNeeded to correctly treat Complex numbers as literals, allowing expressions like Complex(8) * y to simplify correctly
    Open source →
  15. 5.4.0 06 Dec 2025
    Release notes

    Symbolic Calculus & Equation Solving

    • [FEATURE] Added comprehensive symbolic calculus module (lib/src/math/algebra/calculus/)
      • symbolic_calculus.dart: Core symbolic calculus operations
      • symbolic_integration.dart: Advanced integration strategies (power rule, trig, exponential, substitution, integration by parts)
      • differentiation.dart: Enhanced differentiation with curl calculations and variable naming improvements
      • hybrid_calculus.dart: Combined symbolic and numerical calculus approaches
    • [FEATURE] Implemented equation solver framework (lib/src/math/algebra/solver/)
      • equation_solver.dart: Polynomial solving, variable isolation, factor solving, and identity handling
      • Support for linear, quadratic, cubic equations
      • Recursive solving for factored equations (e.g., (x-1)*(x-2) = 0)
      • Power equation solving (e.g., x^3 = 0)
      • Identity equation detection (e.g., x - x = 0)
    • [FEATURE] Added expression simplification framework (lib/src/math/algebra/expression/simplifier/)
      • simplifier.dart: Core simplification strategies
      • trig_simplifier.dart: Trigonometric simplification rules
    • [FEATURE] Added inverse trigonometric functions
      • asin.dart: Inverse sine function
      • acos.dart: Inverse cosine function
      • atan.dart: Inverse tangent function
    • [FEATURE] Added nonlinear mathematics modules (lib/src/math/algebra/nonlinear/)
      • optimization.dart: Optimization algorithms
      • root_finding.dart: Root finding methods
      • systems.dart: Nonlinear systems solving
    • [FEATURE] Added differential equations module (lib/src/math/differential_equations/)
    • [FEATURE] Added statistics module (lib/src/math/statistics/)

    Parser Enhancements

    • [FEATURE] Enhanced expression parser with calculus operations
      • Added diff(expr, var) parsing for differentiation
      • Added integrate(expr, var) parsing for integration
      • Added solve(eq, var) parsing for equation solving
      • Added solveEquations(equations) parsing for system of equations
      • Added algebraic functions: gcd(a, b), lcm(a, b), factor(poly), deg(poly), pfactor(n), coeffs(poly, var), line(p1, p2), roots(poly), sqcomp(poly)
      • Improved simplification of parsed results

    Polynomial Algebra Enhancements

    • [FEATURE] Polynomial modulo operator (%) for polynomial division remainder
    • [FEATURE] Polynomial GCD and LCM methods
      • gcd(other): Greatest Common Divisor using Euclidean algorithm
      • lcm(other): Least Common Multiple
    • [FEATURE] Added Modulo expression class for symbolic modulo operations
    • [FEATURE] Implemented isPoly([strict]) method across all expression types for polynomial detection
    • [BUG_FIX] Fixed Polynomial.simplify() to correctly handle Complex coefficients by checking if coefficients are real before computing GCD

    Equation Solving Enhancements

    • [FEATURE] System of equations solver (solveEquations)
      • Supports linear and simple non-linear systems
      • Uses substitution method for system solving
      • Returns solutions in [var, val, var, val, ...] format

    Symbolic Integration Enhancements

    • [FEATURE] Added InverseTrigStrategy for inverse trigonometric integrals
      • Handles patterns like 1/(x^2 + a^2)atan(x/a)
      • Handles patterns like 1/sqrt(a^2 - x^2)asin(x/a)
    • [IMPROVEMENT] Enhanced BasicTrigStrategy with trigonometric power reduction
      • Power reduction for sin^2(x), cos^2(x), etc.
    • [IMPROVEMENT] Improved IntegrationByPartsStrategy to handle logarithmic and inverse trigonometric functions
    • [BUG_FIX] Fixed Cubic equation solver robustness:
      • Added explicit check for triple roots (d0=0, d1=0) to prevent NaN results
      • Improved zero-check logic for intermediate values using magnitude thresholds
    • [BUG_FIX] Fixed IntegrationByParts failure for solo functions (e.g., ln(x), asin(x)) by treating them as f(x) * 1
    • [BUG_FIX] Fixed PowerRuleStrategy to correctly handle Complex exponents safely avoiding type cast errors
    • [FEATURE] Added logarithmic integration pattern (u'/u) to SubstitutionStrategy supporting forms like integrate(1/(x+1))
    • [BUG_FIX] Fixed integrate(cos(x)*sin(x)) sign error by improving Divide.simplifyBasic
    • [IMPROVEMENT] Generalized linear substitution to handle implicit constant factors (e.g. integrate((2x+1)^2))
    • [BUG_FIX] Fixed solve(x^3) returning NaN by fixing Complex.pow for zero base

    Test Coverage Improvements

    • [IMPROVEMENT] Enabled and fixed tests in algebra_spec_test.dart
      • Uncommented isPoly tests
      • Uncommented simplification and factorization tests
    • [IMPROVEMENT] Enabled and adapted tests in solve_spec_test.dart
      • Uncommented solveEquations tests
      • Adapted test expectations for parser syntax
    • [IMPROVEMENT] Fixed tests in core_spec_test.dart
      • Adjusted expectations for symbolic results (e.g., 11/4 instead of 2.75)
      • Enabled hyperbolic function tests
    • [IMPROVEMENT] Parser now handles complex nested expressions correctly

    Expression System Refactoring

    • [BREAKING] Updated differentiate() signature to accept optional Variable parameter for partial differentiation support
      • Updated in all expression classes: Add, Subtract, Multiply, Divide, Pow, Sin, Cos, Tan, Sec, Csc, Cot, Exp, Ln, Log, Abs, and all other expression types
    • [IMPROVEMENT] Refactored simplify() to simplifyBasic() in binary operations for better simplification control
      • Updated: Add, Subtract, Multiply, Power
    • [BUG_FIX] Fixed Add.simplifyBasic() to correctly parse terms instead of creating invalid Variable objects
    • [BUG_FIX] Fixed Subtract.simplifyBasic() to handle nested additions and parse terms correctly
    • [BUG_FIX] Fixed Multiply.simplifyBasic() to implement associativity rules for coefficient combination (e.g., (-1) * (2 * x)(-2) * x)
    • [IMPROVEMENT] Enhanced Subtract to flatten nested subtractions and additions
    • [IMPROVEMENT] Improved term parsing in algebraic operations
    • [FEATURE] Enhanced Expression type conversion:
      • Added support for String inputs in _toExpression (automatic parsing)
      • Added support for Complex inputs in _toExpression
      • Enabled support for NaN and Infinity values in Expression operations
    • [BUG_FIX] Fixed type safety in arithmetic operations (Add, Subtract, Divide) to handle mixed num and Complex types

    Rational Function Enhancements

    • [FEATURE] Implemented RationalFunction.simplify() with polynomial division and GCD cancellation
    • [BUG_FIX] Fixed RationalFunction.evaluate() to ensure correct simplification and type handling

    Polynomial Algebra Enhancements

    • [BUG_FIX] Fixed Polynomial.fromString to correctly handle whitespace and division by constants (e.g., x/2)

    • [BUG_FIX] Fixed Polynomial.simplify to prevent root casting errors during GCD calculation

    • [BUG_FIX] Fixed Polynomial.evaluate to prevent nested Literal creation

    • [BUG_FIX] Fixed coefficient extraction in polynomial solver for correct quadratic detection

    • [BUG_FIX] Fixed identity equation handling (e.g., solve(x-x, x) now returns [0])

    • [BUG_FIX] Fixed cancellation detection in subtraction (e.g., x - x = 0)

    • [FEATURE] Added comprehensive test suites

      • test/parser_calculus_test.dart: 100 tests for differentiation, integration, and solving
      • test/calculus/: Calculus module tests
      • test/solver/: Equation solver tests
      • test/differential_equations/: Differential equations tests
      • test/statistics/: Statistics tests
      • test/nonlinear/: Nonlinear mathematics tests
    • [FEATURE] Added example: example/symbolic_calculus_example.dart

    • [IMPROVEMENT] Enhanced Limit class with better limit calculation

    • [IMPROVEMENT] Updated expression exports in advance_math.dart and algebra.dart

    • [IMPROVEMENT] Code formatting improvements across multiple files

    • [REFACTOR] Variable naming consistency (e.g., F1, F2, F3f1, f2, f3 in curl calculations)

    • [CLEANUP] Removed simple_export_test.dart

    Complex Number Enhancements

    • [FEATURE] Added reciprocal trigonometric functions to Complex (trigonometric.dart)
      • sec(): Secant function
      • csc(): Cosecant function
      • cot(): Cotangent function
    • [FEATURE] Added inverse reciprocal trigonometric functions
      • asec(), arcsec(): Inverse secant
      • acsc(), arccsc(): Inverse cosecant
      • acot(), arccot(): Inverse cotangent
    • [FEATURE] Added alias methods for inverse trig functions
      • arcsin(), arccos(), arctan()
    • [FEATURE] Added reciprocal hyperbolic functions to Complex (hyperbolic.dart)
      • sech(): Hyperbolic secant
      • csch(): Hyperbolic cosecant
      • coth(): Hyperbolic cotangent
    • [FEATURE] Added inverse reciprocal hyperbolic functions
      • asech(), arcsech(): Inverse hyperbolic secant
      • acsch(), arccsch(): Inverse hyperbolic cosecant
      • acoth(), arccoth(): Inverse hyperbolic cotangent
    • [FEATURE] Added alias methods for inverse hyperbolic functions
      • arcsinh(), arccosh(), arctanh()
    • [FEATURE] Added logarithmic functions to Complex (operations.dart)
      • log10(): Base-10 logarithm
      • log2(): Base-2 logarithm
      • logBase(n): Arbitrary base logarithm
    • [FEATURE] Added special mathematical functions (special_functions.dart - NEW FILE)
      • gamma(): Gamma function using Lanczos approximation
      • lnGamma(): Natural logarithm of gamma function
      • digamma(): Digamma (psi) function
      • erf(): Error function with Taylor series expansion
      • erfc(): Complementary error function
      • beta(): Beta function
      • zeta(): Riemann Zeta function
    • [FEATURE] Added precision functions
      • expm1(): e^x - 1 for small x
      • log1p(): ln(1 + x) for small x
    • [FEATURE] Added floating-point utilities
      • frexp(): Mantissa and exponent decomposition
      • ldexp(): Recompose double from mantissa and exponent
    • [FEATURE] Added static utility methods for collections of Complex numbers
      • Complex.sum(List<Complex>): Sum of complex numbers
      • Complex.mean(List<Complex>): Arithmetic mean
      • Complex.product(List<Complex>): Product of complex numbers

    Geometry Enhancements

    Plane Geometry

    • [FEATURE] Added geometric centers to Triangle class
      • centroid: Intersection of medians (center of mass)
      • inCenter: Intersection of angle bisectors (center of inscribed circle)
      • circumCenter: Intersection of perpendicular bisectors (center of circumscribed circle)
      • orthocenter: Intersection of altitudes
    • [BUG_FIX] Fixed Polygon class to extend PlaneGeometry correctly
      • Implemented area() method using Shoelace formula for arbitrary polygons
      • Implemented perimeter() method override
    • [FEATURE] Enhanced regular polygon classes (Pentagon, Hexagon, Heptagon, Octagon)
      • Added apothem property (distance from center to midpoint of side)
      • Added sumInteriorAngles property
      • Added shortDiagonal property to Pentagon
    • [FEATURE] Added boundingBox() method to circle components
      • Sector: Includes center, arc endpoints, and arc extremes
      • Segment: Includes chord endpoints and arc extremes
      • Arc: Includes endpoints and arc extremes
    • [IMPROVEMENT] Refactored Sector, Segment, and Arc classes
      • Encapsulated fields with private accessors and validation
      • Optimized contains(Point) method in Sector for better performance
    • [REFACTOR] Merged ErrorEllipse implementation
      • Consolidated fields to support both covariance matrix (sigmaX2, sigmaY2, sigmaXY) and standard deviation (sigmaX, sigmaY, rho)
      • Added generateEllipsePoints() for plotting
      • Added toJson()/fromJson() serialization
      • Added dynamic updateParameters() method
      • Restored PlaneGeometry inheritance and contains() logic

    Solid Geometry

    • [FEATURE] Implemented Sphere class (lib/src/math/geometry/solid/sphere.dart)
      • Volume: (4/3)πr³
      • Surface Area: 4πr²
      • Named constructors: fromVolume(), fromSurfaceArea()
      • contains(Point) method to check if point is inside sphere
    • [FEATURE] Implemented Cylinder class (lib/src/math/geometry/solid/cylinder.dart)
      • Volume: πr²h
      • Surface Area: 2πr(r + h)
      • Lateral Surface Area: 2πrh
      • Named constructor: fromVolumeAndRadius()
    • [FEATURE] Implemented Cone class (lib/src/math/geometry/solid/cone.dart)
      • Volume: (1/3)πr²h
      • Surface Area: πr(r + s) where s is slant height
      • Slant Height: √(r² + h²)
      • Lateral Surface Area: πrs
    • [FEATURE] Implemented RectangularPrism class (lib/src/math/geometry/solid/rectangular_prism.dart)
      • Volume: l × w × h
      • Surface Area: 2(lw + lh + wh)
      • Space Diagonal: √(l² + w² + h²)
      • vertices() method returns 8 corner points
      • Factory constructor: RectangularPrism.cube(side) for creating cubes
    • [FEATURE] Created example: example/solid_geometry_example.dart

    Statistics & Basic Math Refactoring

    • [FEATURE] Refactored core statistics functions to VarArgsFunction allowing flexible usage (e.g., mean(1, 2, 3) vs mean([1, 2, 3]))
      • mean, median, mode, variance, standardDeviation
      • gcd, lcm
    • [FEATURE] Refactored max and min in basic.dart to VarArgsFunction
    • [IMPROVEMENT] Optimized SVD decomposition to use dart:math for max/min operations for better performance and type safety

    Expression Context Enhancements

    • [FEATURE] Added missing basic math functions to default expression context (utils.dart)
      • sinc, sumUpTo, isClose, integerPart, fibRange
    • [FEATURE] Added calculus helpers to expressions
      • diff(): Numerical differentiation
      • simpson(), numIntegrate(): Numerical integration
    • [FEATURE] Added robust random number generation to expressions
      • rand([min, max])
      • randint(max)
    • [FEATURE] Flattened and exposed constants in expressions
      • Angle constants: halfPi, quarterPi, deg2rad, rad2deg
      • Physics constants: c, G, g, h_planck, etc.
    • [BUG_FIX] Fixed CallExpression to correctly handle VarArgsFunction invocations
    • [BUG_FIX] Fixed IndexExpression and BinaryExpression type handling failures
    Open source →
  16. 5.3.8 28 Nov 2025
    Release notes
    • [IMPROVEMENT] Updated dependencies
    • [REFACTOR] Simplify conditional logic and improve readability in Scientific class
    • [STYLE] Format code for consistency in num extension and tests
    • [IMPROVEMENT] Fixed documentation comments in AngleUnits, NumWords, and Units classes
    • [FEATURE] Implemented methods in MultiVariablePolynomial: depth, size, getVariableTerms, simplify, expand, differentiate, integrate, isIndeterminate, and isInfinity
    Open source →
  17. 5.3.7 16 Nov 2025
    Release notes
    • [IMPROVEMENT] Updated dependencies
    • [IMPROVEMENT] Clean code
    Open source →
  18. 5.3.6 11 Nov 2025
    Release notes
    • [FEATURE] Added some large value computations
    • [IMPROVEMENT] Updated dependencies
    • [IMPROVEMENT] Clean code
    Open source →
  19. 5.3.5 19 Oct 2025
    Release notes
    • [FEATURE] Add num to expression conversion extension
    • [FEATURE] Add NumToExpressionExtension with toExpression() and operator overloads
    • [FEATURE] Create global helper function ex() for concise expression creation
    • [IMPROVEMENT] Add unit tests for all new functionality
    • [IMPROVEMENT] Update examples to demonstrate new expression creation methods
    • [IMPROVEMENT] Add documentation for enhanced expression creation approaches
    • [FEATURE] Extend Inverse Hyperbolic Functions to Support Complex Numbers (asinh, acosh, atanh, asech, acsch, and acoth) to support Complex number inputs.
    Open source →
  20. 5.3.4 20 Jul 2025
    Release notes
    • [FEATURE] Changed to MIT License
    Open source →
  21. 5.3.3 20 Jul 2025
    Release notes
    • [BUG_FIX] Fixed error from Package conflict after update as from issues #8
    • [IMPROVEMENT] Clean code
    Open source →
  22. 5.3.2 24 May 2025
    Release notes
    • [IMPROVEMENT] Added detailed documentations
    • [IMPROVEMENT] Updated packages
    • [IMPROVEMENT] Clean code
    Open source →
  23. 5.3.1 14 May 2025
    Release notes
    • [IMPROVEMENT] Improved Imaginary
    Open source →
  24. 5.3.0 12 May 2025
    Release notes
    • [FEATURE] Added isClose similar to that of Python
    • [IMPROVEMENT] Enhanced Complex number
    • [IMPROVEMENT] Improved Decimal and Rational Numbers
    • [BUG_FIX] Fix bugs and matrices
    • [FEATURE] Added memoize class wrapper (see examples from var_args_function_test.dart )
    • [FEATURE] Added more functions including: sumUpTo, timeAsync, time etc.
    Open source →
  25. 5.2.0 31 Mar 2025
    Release notes
    • [FEATURE] Added isClose similar to that of Python
    • [FEATURE] Added conversion of Complex to num
    • [FEATURE] Added more functions to Complex
    • [BREAKING] Remove the FileIO form the library as it is the same from DartFrame.
    • [IMPROVEMENT] Enhanced Complex number integration throughout the library
    • [FEATURE] Added simplify() method to return appropriate data types from mathematical operations
    • [IMPROVEMENT] Updated mathematical functions to work with Complex numbers:
      • round() - Now supports rounding both real and imaginary parts
      • hypot() - Enhanced to work with Complex inputs
      • sign() - Added support for Complex numbers
      • clamp() - Now clamps both real and imaginary parts of Complex numbers
      • lerp() - Added support for linear interpolation between Complex numbers
    • [BUG_FIX] Fixed test cases for Roman numerals
    • [IMPROVEMENT] SVD and LU algorithms
    • [IMPROVEMENT] Standardized error handling across mathematical functions
    • [IMPROVEMENT] Improved documentation with examples for Complex number operations
    Open source →
  26. 5.1.0 21 Feb 2025
    Release notes
    • [BUG_FIX] Fixed error from svd as from issues #3
    • [IMPROVEMENT] Changed the default PI computation to use
    • [IMPROVEMENT] Changed the entire Matrix class and Vector class to use Complex for all operations.
    Open source →
  27. 5.0.0 25 Jan 2025
    Release notes
    • [IMPROVEMENT] pseudoInverse function has been improved to work with singular and poorly conditioned matrices. Added condition number check and SVD fallback for improved robustness with singular and poorly conditioned matrices.
    • [BUG_FIX] isPrime function now works correctly.
    • [FEATURE] Added extensions to Bases class for converting between bases and Strings.
    • [FEATURE] Added a class for PerfectNumbers and functions for calculating perfect numbers including isMersennePrime.
    • [IMPROVEMENT] Improved isPerfectNumber function for performance and to work with large numbers with BigInt, large String number, and int support.
    • [FEATURE] Added sqrt to the BigInt class to aid computations.
    • [IMPROVEMENT] Fixed the error with cumsum and improved it with functionalities
    • [IMPROVEMENT] Improve the computation of fib function.
    • [FEATURE] Added Expression class for parsing and evaluating mathematical expressions. See Expression class for more information.
    Open source →
  28. 4.0.2 18 Dec 2024
    Release notes
    • [BUG_FIX] Changed the characters dependency to 1.3.0
    Open source →
  29. 4.0.1 17 Dec 2024
    Release notes
    • [IMPROVEMENT] Fixed change log
    • [IMPROVEMENT] Updated SDK to 3.6.0
    Open source →
  30. 4.0.0 17 Dec 2024
    Release notes
    • [BROKEN] DataFrame is no longer maintained in advance_math. Now has a separate package for DataFrame called dartframe.

    • [FEATURE] Added PI class for calculating pi to any precision.

    • [FEATURE] Added Decimal and Rational classes to support arbitrary precision calculations.

    • [BROKEN] Old Decimal class based on Number has been changed to Precision class. See Precision class for more information.

    • [FEATURE] Added Decimal and Rational class based on BigInt with support for arbitrary precision calculations.

    • [FEATURE] Added bases to advance math. You can now convert from any base to any other base (i.e base 2-36). See Bases class for more information.

    • [IMPROVEMENT] Matrix inverse has been improved to work with matrices of any size (e.g. 1x1 matrix).

    • [IMPROVEMENT] Added Dataframe empty initializer/constructor.

    • [FEATURE] Converted Dataframe columns to a class Series

    • [FEATURE] Added more functionalities to the Random class eg: nextIntInRange, nextDoubleInRange, nextBytes, nextBigIntInRange, nextBigInt, nextDateTime, nextElementFromList, nextNonRepeatingIntList etc.

    • [IMPROVEMENT] isPrime function has been improved to use the trial division method for small numbers and Rabin-Miller for large numbers. Now support various data types:

      print(isPrime(5)); // Output: true (int)
      print(isPrime(6)); // Output: false (int)
      print(isPrime(BigInt.from(1433))); // Output: true (BigInt)
      print(isPrime('567887653')); // Output: true (String)
      print(isPrime('75611592179197710042')); // Output: false (String)
      print(isPrime('205561530235962095930138512256047424384916810786171737181163')); // Output: true (String)
      
    • [FEATURE] Added more basic math functions: mod, modInv, nChooseRModPrime, bigIntNChooseRModPrime etc.

    • [FEATURE] Added more statistics math functions: gcf, egcd, lcm etc.

    • [IMPROVEMENT] In the Geometry class:

      • The class is splitted into Plane and Solid geometries.
      • In Point class: fixed example function calling, isCollinear computation is moved into GeoUtils, and use rec in the constructor fromPolarCoordinates.
    • [IMPROVEMENT] Added an argument isDegrees for rec and pol easy computation.

    • [IMPROVEMENT] Roman numerals to work with overline characters and parentheses.

    • [FEATURE] Added converts polar coordinate rec and converts rectangular coordinates pol functions

    • [FEATURE] Added an extension groupBy to the iterables and groupByKey to maps.

    • [FEATURE] Added more extensions to String class:

      String testString = "Hello123World456! Café au lait costs 3.50€. Contact: [email protected] or visit https://example.com";
      
      print(testString.extractLetters()); // Includes 'é'
      print(testString.extractNumbers(excludeDecimalsAndSymbols: false));
      print(testString.extractWords(excludeNumbers: false));
      print(testString.extractAlphanumeric(excludeSymbols: false));
      
      print(testString.extractLettersList(excludeSymbols: false));
      print(testString.extractNumbersList(excludeDecimalsAndSymbols: false));
      print(testString.extractEmails()); // Extracts email addresses
      print(testString.extractUrls()); // Extracts URLs
      print(testString.containsSymbol()) //Check if the string contains a symbol
      
      // Custom pattern example: extract words starting with 'C'
      print(testString.extractCustomPattern(r'\bC\w+', unicode: false));
      
      
    • [IMPROVEMENT] Following the Dart format for libraries

    • [IMPROVEMENT] Cleaned code base and examples files

    • [IMPROVEMENT] Fixed README

    Open source →
  31. 3.3.8 27 Mar 2024
    Release notes
    • [BUG_FIX] CoordinateType not set to UTM
    • [BUG_FIX] Change the data types of mean and correlation to num
    • [BROKEN] NumOrWords has been moved into code translators with the same name as Morse code.
    • [BROKEN] MorseCodeTranslator class has been renamed to MorseCode
    • [FEATURE] Added Dataframe class for working with dataframes or tables.
    • [IMPROVEMENT] Removed duplicate functions
    • [IMPROVEMENT] Enhanced combinations and permutations function:
      • The function now generates the actual combinations or permutations of elements, mimicking the behavior of the combinations function in R.
      • Added support for Lists as input for n.
      • Introduced optional func and simplify parameters for applying functions to combinations or permutations and controlling output structure.
      • Improved documentation with clearer explanations, examples, and comments.
    • [IMPROVEMENT] Cleaned code for expressions (symbolic math)
    • [IMPROVEMENT] Added doc-strings to some functions
    • [IMPROVEMENT] Added documentation of Morse code in the ReadMe file
    • [IMPROVEMENT] Fixed README
    Open source →
  32. 3.3.7 22 Nov 2023
    Release notes
    • Fixed README
    • Added functions
    Open source →
  33. 3.3.6 18 Nov 2023
    Release notes
    • Fixed bugs
    • Renamed Row, Column, and Diagonal matrices to RowMatrix, ColumnMatrix and DiagonalMatrix repectively
    Open source →
  34. 3.3.5 18 Nov 2023
    Release notes
    • Added morse code
    • Added more math functions
    • Improved documentation and performance
    • Fixed bugs and aligned code
    Open source →
  35. 3.3.4 19 Oct 2023
    Release notes
    • Added support for converting number to words
    • Added test for roman numerals.
    • Fixed bugs in Roman numerals
    • Added some string extension (e.g. capitalization, removeSpecialCharacters etc)
    Open source →
  36. 3.3.3 11 Oct 2023
    Release notes
    • Setting support for expressions
    • Fixed errors in pow for both real and Complex numbers
    Open source →
  37. 3.3.2 09 Oct 2023
    Release notes
    • Added some math constants
    • Fixed error in angles
    • Fixed error in parsing linear and constant polynomial strings
    • Increased the SDK
    Open source →
  38. 3.3.1 07 Oct 2023
    Release notes
    • Added Interpolation
    Open source →
  39. 3.3.0 30 Aug 2023
    Release notes
    • Added ZScore computation
    • Added more functions matrix statistics
    • Added multiple supports for determinant
    • Fixed bugs in Roman numerals
    • Fixed documentation inconsistencies
    Open source →
  40. 3.2.4 03 Aug 2023
    Release notes
    • Fixed error in angles
    Open source →
  41. 3.2.3 03 Aug 2023
    Release notes
    • Fixed error in angles conversion
    Open source →
  42. 3.2.2 24 Jul 2023
    Release notes
    • Improved the checks on roman numerals
    • Added conversion between roman numerals and dates
    • Improved the flexibility in arithmetic with integer, roman strings and roman numbers
    • Fixed README file
    Open source →
  43. 3.2.1 24 Jul 2023
    Release notes
    • Improved the checks on roman numerals
    Open source →
  44. 3.2.0 23 Jul 2023
    Release notes
    • Added roman numerals
    • Added trigonometry functions supports to work with complex numbers
    • Added limit
    • Added factors
    • Fixed README file
    Open source →
  45. 3.1.0 17 Jul 2023
    Release notes
    • Simplified Example file
    • Improved exponents of Complex numbers
    • Fixed bearingTo() in Point to include axis
    • Fixed return type of normalize from Angle
    • Fixed README file
    Open source →
  46. 3.0.0 08 Jul 2023
    Release notes
    • Added Geometry (Point, line, Circle, Triangle, Polygon, etc.)
    • Added Polynomial (Linear, Quadratic, Cubic, Quartic, Durand-Kerner)
    • Added List and vecctors having same properties
    • Added NumPy's roll
    • Fixed README file
    Open source →
  47. 2.1.2 27 Jun 2023
    Release notes
    • Fixed complex number outputing wrong string
    Open source →
  48. 2.1.1 26 Jun 2023
    Release notes
    • Fixed bugs
    Open source →
  49. 2.1.0 26 Jun 2023
    Release notes
    • Added arguments for diagonal
    • Improved min, max and sum functions with axes
    • Fixed bug with magic matrix not working for singly even numbers (6, 10, 14, 18, 22 etc).
    • Fixed bugs
    Open source →
  50. 2.0.2 24 Jun 2023
    Release notes
    • Changed the reverse function to flip in matrices
    • Added magic() to the Maatrix constructors
    • Fixed bug in FileIO
    Open source →
  51. 2.0.1 19 Jun 2023
    Release notes
    • Fixed bug
    Open source →
  52. 2.0.0 19 Jun 2023
    Release notes
    • Fixed the usage of quantities in the respective computations
    • Implemented support for quantity
    • Fixed Web not supported
    • Fixed range
    • Fixed README
    Open source →
  53. 1.0.3 08 Jun 2023
    Release notes
    • Fixed bugs
    • Fixed README
    Open source →
  54. 1.0.2 07 Jun 2023
    Release notes
    • Conversion of angles(radians, degrees, gradients, DMS, and DM)
    • Organized code
    • Fixed bugs
    • Fixed README
    Open source →
  55. 1.0.0 07 Jun 2023
    Release notes
    • Moved codes and reorganized functions
    • Fixed bugs
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive