SeriesExpansion

Trait SeriesExpansion 

Source
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§

Source

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);
Source

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);
Source

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);
Source

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);

Implementors§