AbstractSeries

com.phasmidsoftware.number.core.numerical.AbstractSeries
abstract class AbstractSeries[X](terms: Seq[X])(using evidence$1: Numeric[X]) extends Series[X]

Represents an abstract mathematical series, inheriting from the Series trait. Provides methods for evaluating the series and accessing individual terms. This class facilitates the representation and evaluation of a series where terms are of type X and are subject to numerical operations.

Type parameters

X

The type of elements in the series, which must have a Numeric type-class instance.

Value parameters

terms

A sequence representing the terms of the mathematical series.

Attributes

Graph
Supertypes
trait Series[X]
class Object
trait Matchable
class Any
Known subtypes
class FiniteSeries[X]

Members list

Value members

Abstract methods

def convergenceRate: Double

Returns the default convergence rate used for evaluating the series. The convergence rate determines the threshold at which terms in the series are considered sufficiently small to be ignored in the evaluation. This is used to determine the error bounds when evaluating to a tolerance. The error bounds are the tolerance divided by this number

Returns the default convergence rate used for evaluating the series. The convergence rate determines the threshold at which terms in the series are considered sufficiently small to be ignored in the evaluation. This is used to determine the error bounds when evaluating to a tolerance. The error bounds are the tolerance divided by this number

Attributes

Returns

The convergence rate as a Double.

Concrete methods

def evaluate(maybeN: Option[Int] = ...): Option[X]

Evaluates the series by summing the specified number of terms or a default number of terms if not provided. If any term cannot be evaluated, the method returns None.

Evaluates the series by summing the specified number of terms or a default number of terms if not provided. If any term cannot be evaluated, the method returns None.

CONSIDER merge with the other implementation of this

Value parameters

maybeN

An optional integer specifying the number of terms to evaluate. If not provided, the default number of terms will be used.

Attributes

Returns

An Option[X] containing the result of the summation if all terms are successfully evaluated, or None if any term evaluation fails.

def evaluateToTolerance(epsilon: Double): Try[X]

Evaluates the series by summing the terms until their absolute value falls below a given threshold. NOTE: the result of this method is always a Try[Number], regardless of X. If X and Number are not the same, a ClassCastException will be thrown.

Evaluates the series by summing the terms until their absolute value falls below a given threshold. NOTE: the result of this method is always a Try[Number], regardless of X. If X and Number are not the same, a ClassCastException will be thrown.

Value parameters

epsilon

The threshold value for determining the cutoff in the series evaluation. Terms with an absolute value less than this will not be included.

Attributes

Returns

A Try containing the result of the series evaluation if successful, or an exception if the computation fails.

Note

Throws java.lang.ClassCastException if X is not Fuzz[Double].

def term(i: Int): Option[X]

Retrieves the term at the specified index from the series, if the index is valid.

Retrieves the term at the specified index from the series, if the index is valid.

A valid index is non-negative and less than the total number of terms in the series, as defined by nTerms.

Value parameters

i

The index of the term to retrieve.

Attributes

Returns

An Option containing the term at the given index if the index is valid, or None otherwise.

Inherited methods

def render(n: Int): String

Generates a string representation of the series, including up to a specified number of terms. The output is formatted as "Series: (n terms) x1, x2, ..., xn,".

Generates a string representation of the series, including up to a specified number of terms. The output is formatted as "Series: (n terms) x1, x2, ..., xn,".

Value parameters

n

the number of terms to include in the rendered representation of the series

Attributes

Returns

a string that represents the series with up to n terms

Inherited from:
Series

Inherited and Abstract methods

def nTerms: Option[Int]

Retrieves the total number of terms available in the series, if defined.

Retrieves the total number of terms available in the series, if defined.

Attributes

Returns

an Option containing the number of terms in the series, or None if the number is undefined

Inherited from:
Series