Math::Series 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 Math::Series object is described below in the paragraph about the constructor. Math::Series uses Math::Symbolic to parse and modify the recursive sequence definitions. That means you specify the sequence as a string which is parsed by Math::Symbolic. Alternatively, you can pass the constructor a Math::Symbolic tree directly. Because Math::Series uses Math::Symbolic for its implementation, all results will be Math::Symbolic objects which may contain other variables than the sequence variable and the iterator variable. Each Math::Series 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.