Symbolic Differentiation
Symbolic differentiation in MathHook uses automatic differentiation with the chain rule, product rule, quotient rule, and function-specific derivative rules.
๐
Mathematical Definition
Power Rule:
Product Rule:
Quotient Rule:
Chain Rule:
Trigonometric Derivatives: - - -
Exponential and Logarithmic: - -
Code Examples
Power Rule
d/dx(x^n) = n*x^(n-1)
use mathhook::prelude::*;
let x = symbol!(x);
let expr = expr!(x ^ 5);
let deriv = expr.derivative(&x, 1);
// Result: 5 * x^4
Product Rule
d/dx(fยทg) = f'ยทg + fยทg'
use mathhook::prelude::*;
let x = symbol!(x);
let f = expr!(x ^ 2);
let g = expr!(x ^ 3);
let product = expr!(mul: f, g); // x^2 * x^3
let deriv = product.derivative(&x, 1);
// Result: 2*x * x^3 + x^2 * 3*x^2 = 5*x^4
Chain Rule
d/dx(f(g(x))) = f'(g(x))ยทg'(x)
use mathhook::prelude::*;
let x = symbol!(x);
let inner = expr!(x ^ 2);
let outer = expr!(sin(inner)); // sin(x^2)
let deriv = outer.derivative(&x, 1);
// Result: cos(x^2) * 2*x
Partial Derivatives
Multivariable differentiation
use mathhook::prelude::*;
let x = symbol!(x);
let y = symbol!(y);
let expr = expr!((x ^ 2) * y);
// Partial derivative with respect to x
let df_dx = expr.derivative(&x, 1);
// Result: 2*x*y
// Partial derivative with respect to y
let df_dy = expr.derivative(&y, 1);
// Result: x^2
Higher-Order Derivatives
Second, third, or nth order derivatives
use mathhook::prelude::*;
let x = symbol!(x);
let expr = expr!(x ^ 4);
// First derivative: 4*x^3
let first = expr.derivative(&x, 1);
// Second derivative: 12*x^2
let second = expr.derivative(&x, 2);
// Third derivative: 24*x
let third = expr.derivative(&x, 3);
// Fourth derivative: 24
let fourth = expr.derivative(&x, 4);