What’s New

Initial release.

Version 1.00

This release introduces the initial mathematics invariant pack.


Mathematics

Arithmetic

  • add(a, b)
  • subtract(a, b)
  • multiply(a, b)
  • min(a, b)
  • max(a, b)
  • clamp(value, lower, upper)
  • floor(a)
  • ceil(a)
  • distance(a, b)
  • compare_sign(a)
  • euclidean_divide(a, b)
  • mod(a, b)
  • power(a, b)
  • power_negative_exponent(a, b)
  • abs(a)
  • sign(a)
  • negate(a)
  • compare(a, b)
  • compare_exact_rational(a, b)
  • compare_approximate(a, b, tolerance)
  • canonical_rational(a, b)
  • sqrt(a)
  • add_float(a, b)
  • subtract_float(a, b)
  • multiply_float(a, b)
  • divide_float(a, b)
  • divide_decimal(a, b, precision?)
  • long_division(a, b)
  • long_multiplication(a, b)
  • approximate(expression, digits)
  • approximate_root(expression, initial_guess, digits, method?)
  • iterate_until(expression, initial, tolerance, max_steps?)

Algebra

  • solve_equation_over_complex
  • solve_equation_over_reals
  • solve_equation_over_integers
  • solve_linear_system(equations, variables)
  • solve_numeric_system(equations, variables, initial_guess, tolerance?, max_steps?)
  • factor(expression)
  • expand(expression)
  • simplify(expression)
  • substitute(expression, substitutions)
  • evaluate(expression, values)
  • polynomial_degree(expression)
  • polynomial_roots(expression)
  • polynomial_division(dividend, divisor)

Calculus

  • differentiate(expression, variable)
  • integrate(expression, variable, lower?, upper?)
  • limit(expression, variable, value)
  • jacobian(expressions, variables)
  • hessian(expression, variables)
  • solve_ode(equation, initial_condition)
  • divergence(field, variables)
  • gradient(expression, variables)
  • curl(field, variables)
  • find_critical_points(expression, variable)
  • classify_critical_point(expression, variable, point)
  • taylor_expand(expression, variable, point, order)

Vector Calculus

  • divergence(field, variables)
  • gradient(expression, variables)
  • curl(field, variables)
  • laplacian(expression, variables)
  • line_integral(field, parameter, curve, limits)
  • surface_integral(field, parameters, surface, limits)
  • volume_integral(expression, variables, limits)

Discrete Math

  • symbolic_sum(expression, variable, lower_limit, upper_limit)
  • binomial_coefficient(expression, term)
  • solve_recurrence_relation(recurrence, function, variable, initial_conditions)
  • stirling_numbers(n, k)

Number Theory

  • gcd(a, b)
  • lcm(a, b)
  • prime_factors(number)
  • nth_prime(n)
  • factorial(n)
  • last_digit(base, exponent)
  • next_primes(start_n, count)
  • solve_linear_diophantine(coefficients, variables, constant)
  • solve_univariate_diophantine(equation, variable)
  • solve_sum_of_squares(n, variables)
  • solve_pell_equation(D)
  • solve_thue_equation(polynomial, value)
  • solve_exponential_diophantine(a, b, c, bounds)
  • solve_diophantine_system(equations, variables, bounds)
  • solve_general_diophantine_bounded(equation, variables, bounds)
  • modular_inverse(a, m)
  • legendre_symbol(a, p)
  • quadratic_residue(a, n)
  • euler_totient(n)
  • primitive_root(n)
  • discrete_logarithm(base, target, modulus)

Elliptic Curves

  • point_doubling(curve, point)
  • point_addition(curve, P, Q)
  • point_negation(curve, point)
  • point_subtraction(curve, P, Q)
  • scalar_multiplication(curve, point, k)
  • curve_order(curve)
  • point_order(curve, point)
  • elliptic_discrete_logarithm(curve, P, Q)
  • is_on_curve(curve, point)
  • is_generator(curve, point)
  • subgroup_points(curve, point)
  • random_point(curve)
  • curve_discriminant(curve)
  • trace_of_frobenius(curve)
  • curve_summary(curve)
  • find_points_by_order(curve, order)

Geometry

  • triangle_side_ratio_from_angles(angle_ratio)

Linear Algebra

  • determinant(matrix)
  • inverse(matrix)
  • solve_linear_system(equations, variables)
  • eigenvalues(matrix)
  • svd(matrix)
  • iterative_solvers

Probability

  • combinations(n, k)
  • probability_exact(success_combinations, total_combinations)
  • hypergeometric(population, success_states, draws, success_draws)

Special Functions

  • evaluate_gamma(z)

Symbolic Analysis

  • general_leibniz_rule(functions, order, variable)

Set Theory

  • set_union(set_a, set_b)
  • set_intersection(set_a, set_b)
  • set_difference(set_a, set_b)
  • subset(set_a, set_b)
  • superset(set_a, set_b)
  • power_set(set_a)
  • cardinality(set_a)

Graph Theory

  • graph_construction(nodes, edges)
  • adjacency(graph, node)
  • connected_components(graph)
  • paths(graph, start, end)
  • cycles(graph)
  • centrality(graph)
  • flow_cut(graph, source, sink)

Information Theory

  • entropy(distribution)
  • joint_entropy(joint_distribution)
  • conditional_entropy(joint_distribution, given)
  • mutual_information(joint_distribution)
  • information_loss(original, observed)
  • signal_noise_ratio(signal, noise)

Optimisation

  • objective_function(expression, variables)
  • constraints(constraints)
  • feasible(constraints, variables)
  • local_optimum(expression, variables)
  • gradient_exhaustion(expression, variable)

Physics

Coming soon…


Notes on versioning

Only changes explicitly listed above are declared in this release. No other behaviour is implied.