P5-math-series

Jul 20, 2023

Perl extension dealing with mathematic series

MathSeries defines a class for simple mathematic series with a recursive definition such as x_n+1 = 1 / x_n + 1. Such a recursive definition is treated as a sequence whose elements will be added to form a series. You can refer to the previous sequence element as well as to the current index in the series. Creation of a MathSeries object is described below in the paragraph about the constructor.

MathSeries uses MathSymbolic to parse and modify the recursive sequence definitions. That means you specify the sequence as a string which is parsed by MathSymbolic. Alternatively, you can pass the constructor a MathSymbolic tree directly.

Because MathSeries uses MathSymbolic for its implementation, all results will be MathSymbolic objects which may contain other variables than the sequence variable and the iterator variable.

Each MathSeries object is an iterator to iterate over the elements of the series starting at the first element which was specified by the starting element, the second argument to the new constructor. It offers facilities to cache all calculated elements and access any element directly, though unless the element has been cached in a previous calculation, this is just a shortcut for repeated use of the iterator.



Checkout these related ports:
  • Zn_poly - C library for polynomial arithmetic
  • Zimpl - Language to translate the LP models into .lp or .mps
  • Zegrapher - Software for plotting mathematical objects
  • Zarray - Dynamically typed N-D expression system based on xtensor
  • Z3 - Z3 Theorem Prover
  • Yices - SMT solver
  • Yacas - Yet Another Computer Algebra System
  • Xtensor - Multi-dimensional arrays with broadcasting and lazy computing
  • Xtensor-python - Python bindings for xtensor
  • Xtensor-io - Xtensor plugin to read/write images, audio files, numpy npz and HDF5
  • Xtensor-blas - BLAS extension to xtensor
  • Xspread - Spreadsheet program for X and terminals
  • Xppaut - Graphical tool for solving differential equations, etc
  • Xplot - X11 plotting package
  • Xlife++ - XLiFE++ eXtended Library of Finite Elements in C++