pub trait SeriesExpansion {
// Required methods
fn taylor_series(
&self,
variable: &Symbol,
point: &Expression,
order: u32,
) -> Expression;
fn laurent_series(
&self,
variable: &Symbol,
point: &Expression,
order: u32,
) -> Expression;
fn maclaurin_series(&self, variable: &Symbol, order: u32) -> Expression;
fn power_series_coefficients(
&self,
variable: &Symbol,
point: &Expression,
order: u32,
) -> Vec<Expression>;
}Expand description
Trait for series expansion operations
Required Methods§
Sourcefn taylor_series(
&self,
variable: &Symbol,
point: &Expression,
order: u32,
) -> Expression
fn taylor_series( &self, variable: &Symbol, point: &Expression, order: u32, ) -> Expression
Compute Taylor series expansion
§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::SeriesExpansion;
let x = symbol!(x);
let expr = Expression::function("exp", vec![Expression::symbol(x.clone())]);
let point = Expression::integer(0);
let result = expr.taylor_series(&x, &point, 5);Sourcefn laurent_series(
&self,
variable: &Symbol,
point: &Expression,
order: u32,
) -> Expression
fn laurent_series( &self, variable: &Symbol, point: &Expression, order: u32, ) -> Expression
Compute Laurent series expansion
§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::SeriesExpansion;
let x = symbol!(x);
let expr = Expression::pow(
Expression::function("sin", vec![Expression::symbol(x.clone())]),
Expression::integer(-1)
);
let point = Expression::integer(0);
let result = expr.laurent_series(&x, &point, 5);Sourcefn maclaurin_series(&self, variable: &Symbol, order: u32) -> Expression
fn maclaurin_series(&self, variable: &Symbol, order: u32) -> Expression
Compute Maclaurin series (Taylor around 0)
§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::SeriesExpansion;
let x = symbol!(x);
let expr = Expression::function("cos", vec![Expression::symbol(x.clone())]);
let result = expr.maclaurin_series(&x, 6);Sourcefn power_series_coefficients(
&self,
variable: &Symbol,
point: &Expression,
order: u32,
) -> Vec<Expression>
fn power_series_coefficients( &self, variable: &Symbol, point: &Expression, order: u32, ) -> Vec<Expression>
Compute power series coefficients
§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::SeriesExpansion;
let x = symbol!(x);
let expr = Expression::function("exp", vec![Expression::symbol(x.clone())]);
let point = Expression::integer(0);
let result = expr.power_series_coefficients(&x, &point, 5);