Runnable Examples Catalog

All 13 examples with full source code and run instructions.

Quick Start: Clone the repository and run any example with:
cargo run --example <example_name>

1. Basic Polynomial

Plot

Focus: Polynomial functions

Demonstrates plotting of basic polynomial expressions: parabola (x²), cubic (x³), quadratic with linear term, and higher degree polynomial (x⁴ - 2x²).

Outputs: parabola.svg, cubic.svg, quadratic.svg, quartic.svg
$ cargo run --example basic_polynomial
Expression Building Power Functions SVG Plotting
📂 View Source on GitHub

2. Trigonometric Functions

Plot

Focus: Trigonometric functions

Plots various trigonometric expressions including sin(x), cos(x), frequency modulation sin(2x), amplitude scaling 2·sin(x), combinations sin(x) + cos(x), and composition sin(x²).

Outputs: sin_x.svg, cos_x.svg, sin_2x.svg, 2_sin_x.svg, sin_plus_cos.svg, sin_times_cos.svg, sin_x_squared.svg
$ cargo run --example trigonometric
Function Nodes Trig Evaluation Frequency/Amplitude
📂 View Source on GitHub

3. Exponential & Logarithmic

Plot

Focus: Exponential and logarithmic functions

Demonstrates exp and ln functions including exp(x), ln(x), exponential decay exp(-x), compositions like exp(x²), ln(x²), exp(sin(x)), and products like x·exp(-x).

Outputs: exp_x.svg, ln_x.svg, exp_neg_x.svg, exp_x_squared.svg, ln_x_squared.svg, x_exp_neg_x.svg, exp_sin_x.svg
$ cargo run --example exponential_logarithm
Exponential Growth Logarithmic Domain Decay Functions
📂 View Source on GitHub

4. Rational Functions

Plot

Focus: Rational functions (ratios of polynomials)

Plots various rational expressions including simple reciprocals 1/x and 1/x², proper rationals like x/(x²+1), classic curves like Witch of Agnesi 1/(1+x²), and higher degree rationals.

Outputs: reciprocal.svg, reciprocal_squared.svg, x_over_x2_plus_1.svg, x2_minus_1_over_x2_plus_1.svg, witch_of_agnesi.svg, x3_over_x2_plus_1.svg
$ cargo run --example rational_functions
Negative Exponents Discontinuities Asymptotic Behavior
📂 View Source on GitHub

5. Power Functions

Plot

Focus: Various power functions including fractional exponents

Demonstrates different exponent types: fractional exponents x^(1/2), x^(1/3), x^(3/2), x^(2/3), negative fractional x^(-1/2), compositions (x²)^(1/2), and higher odd powers x⁵.

Outputs: sqrt_x.svg, cbrt_x.svg, x_three_halves.svg, x_two_thirds.svg, inv_sqrt_x.svg, sqrt_x_squared.svg, x_fifth.svg
$ cargo run --example power_functions
Rational Exponents Domain Considerations Even Roots
📂 View Source on GitHub

6. Composite Functions

Plot

Focus: Complex function compositions

Shows nested and combined functions: trig compositions sin(cos(x)), exp + trig exp(cos(x)) and sin(exp(x/2)), log compositions ln(x²+1) and ln(sin(x)+2), oscillating x·sin(1/x), and damped cos(x)·exp(-x²).

Outputs: sin_cos_x.svg, exp_cos_x.svg, sin_exp_half_x.svg, ln_x2_plus_1.svg, ln_sin_plus_2.svg, x_sin_inv_x.svg, damped_cosine.svg
$ cargo run --example composite_functions
Function Composition Nested Evaluation Complex Behavior
📂 View Source on GitHub

7. Plot Configuration

Config

Focus: PlotConfig parameters and their effects

Demonstrates different configuration settings: sampling rates (20, 100, 500), plot dimensions (small 200×150, standard 400×300, large 800×600), x-axis ranges (narrow [-1,1], wide [-20,20]), and aspect ratios (square, wide).

Outputs: config_low_samples.svg, config_medium_samples.svg, config_high_samples.svg, config_small_dims.svg, config_standard_dims.svg, config_large_dims.svg, etc.
$ cargo run --example plot_configuration
PlotConfig Usage Sampling Effects Dimension Choices
📂 View Source on GitHub

8. Calculus Visualization

Calculus

Focus: Functions with their derivatives

Plots functions alongside their derivatives: parabola x² and 2x, trig sin(x) and cos(x), exponential exp(x) and exp(x), cubic x³-3x and 3x²-3, logarithm ln(x) and 1/x, and second derivatives x⁴, 4x³, 12x².

Outputs: calc_parabola.svg, calc_parabola_deriv.svg, calc_sin.svg, calc_sin_deriv.svg, calc_exp.svg, calc_exp_deriv.svg, calc_cubic.svg, etc.
$ cargo run --example calculus_visualization
Calculus Module Derivative Visualization Critical Points
📂 View Source on GitHub

9. Comprehensive Demo

Full Demo

Focus: End-to-end workflow combining multiple features

Comprehensive demonstration: building complex expressions (x+1)²·sin(x)/(x²+1), simplification, LaTeX output, plotting, differentiation, pattern substitution (x → 2x), and multiple visualizations.

Outputs: comprehensive_original.svg, comprehensive_derivative.svg, comprehensive_substituted.svg
$ cargo run --example comprehensive_demo
Complete Workflow Multi-Crate Integration LaTeX Output
📂 View Source on GitHub

10. Edge Cases

Robustness

Focus: Special behaviors and edge cases

Demonstrates how the plotter handles: discontinuities (1/x at x=0), domain restrictions (ln(x) for x≤0), vertical asymptotes (tan(x)), rapid oscillation sin(1/x), large dynamic range exp(x), constant functions, steep slopes x¹⁰, and complex domains x^(-1/2).

Outputs: edge_discontinuity.svg, edge_domain_restriction.svg, edge_vertical_asymptote.svg, edge_rapid_oscillation.svg, etc.
$ cargo run --example edge_cases
Robustness Non-Finite Handling Auto-Scaling
📂 View Source on GitHub

11. Polynomial Operations

Algebra

Focus: Polynomial algebra and operations

Demonstrates polynomial operations including factorization, GCD computation, partial fraction decomposition, and resultants using the polys crate.

$ cargo run --example polynomial_operations
Factorization GCD Partial Fractions
📂 View Source on GitHub

12. I/O Serialization

I/O

Focus: Expression serialization and parsing

Demonstrates various I/O formats: S-expression parsing and serialization, JSON serialization, and LaTeX output for mathematical typesetting.

$ cargo run --example io_serialization
S-Expressions JSON LaTeX
📂 View Source on GitHub

13. Matrix & Linear Algebra

Linear Algebra

Focus: Exact matrix operations over rationals

Demonstrates matrix operations: creation, determinant computation (Bareiss algorithm), RREF (row reduction), matrix inversion, and solving linear systems.

$ cargo run --example matrix_linear_algebra
Determinant RREF Matrix Inversion Linear Systems
📂 View Source on GitHub

Running All Examples

To run all examples at once:

for example in basic_polynomial trigonometric exponential_logarithm rational_functions \ power_functions composite_functions plot_configuration calculus_visualization \ comprehensive_demo edge_cases polynomial_operations io_serialization matrix_linear_algebra; do echo "Running $example..." cargo run --example "$example" done

Key Features Demonstrated

  • Expression Building: Constructing symbolic expressions with Store
  • Function Types: Add, Mul, Pow, Symbol, Integer, Rational, Function
  • Standard Functions: sin, cos, exp, ln
  • Evaluation: f64 numerical evaluation via eval_f64
  • Plotting: SVG generation via plot_svg with PlotConfig
  • Integration: Working with other crates (calculus, simplify, pattern, io)
  • Edge Case Handling: Discontinuities, domain restrictions, auto-scaling