pub trait SummationEducational {
// Required methods
fn explain_finite_sum(
&self,
variable: &Symbol,
start: &Expression,
end: &Expression,
) -> StepByStepExplanation;
fn explain_infinite_sum(
&self,
variable: &Symbol,
start: &Expression,
) -> StepByStepExplanation;
}Expand description
Educational extension trait for summation
Required Methods§
Sourcefn explain_finite_sum(
&self,
variable: &Symbol,
start: &Expression,
end: &Expression,
) -> StepByStepExplanation
fn explain_finite_sum( &self, variable: &Symbol, start: &Expression, end: &Expression, ) -> StepByStepExplanation
Explain finite sum computation with step-by-step guidance
§Examples
use mathhook_core::{expr, symbol};
use mathhook_core::calculus::summation::educational::SummationEducational;
let i = symbol!(i);
let sum_expr = expr!(i);
let explanation = sum_expr.explain_finite_sum(&i, &expr!(1), &expr!(10));
for step in &explanation.steps {
println!("{}: {}", step.title, step.description);
}Sourcefn explain_infinite_sum(
&self,
variable: &Symbol,
start: &Expression,
) -> StepByStepExplanation
fn explain_infinite_sum( &self, variable: &Symbol, start: &Expression, ) -> StepByStepExplanation
Explain infinite sum computation with convergence analysis
§Examples
use mathhook_core::{expr, symbol};
use mathhook_core::calculus::summation::educational::SummationEducational;
let n = symbol!(n);
let sum_expr = expr!(n ^ (-2));
let explanation = sum_expr.explain_infinite_sum(&n, &expr!(1));
for step in &explanation.steps {
println!("{}: {}", step.title, step.description);
}