diff options
| author | Thomas Guillermo Albers Raviola <thomas@thomaslabs.org> | 2026-08-04 14:50:19 +0200 |
|---|---|---|
| committer | Thomas Guillermo Albers Raviola <thomas@thomaslabs.org> | 2026-08-04 14:50:19 +0200 |
| commit | 926cc111eb68762d1fb0447128f996e21cdc4297 (patch) | |
| tree | efd3963949ecd496e8b65587a0266c4d5d297f7f | |
| parent | d590d54167ddf2d1d44723cf1f0b74a7b3fa72ef (diff) | |
Handle single constant in exponent
| -rw-r--r-- | series.mac | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -173,12 +173,13 @@ mul_series(factors, max_order) := block( matchdeclare(m_any1, lambda ([e], freeof(β, γ, Φ, e))); matchdeclare(m_any2, lambda ([e], freeof(β, γ, Φ, e))); matchdeclare(m_any3, lambda ([e], freeof(β, γ, Φ, e))); +matchdeclare(m_any4, lambda ([e], freeof(β, γ, Φ, e))); matchdeclare(m_exp_expr, lambda ([e], e = β_expr or e = γ_expr or e = Φ_expr)); /* Replace β, γ and Φ expressions into a symbolic representation */ defrule(r_wrap_exp, - exp(m_any1*β + m_any2*γ + m_any3*Φ), - β_expr(m_any1)*γ_expr(m_any2)*Φ_expr(m_any3)); + exp(m_any1*β + m_any2*γ + m_any3*Φ + m_any4), + β_expr(m_any1)*γ_expr(m_any2)*Φ_expr(m_any3)*e_expr(m_any4)); defrule(r_simp_exp_expr, m_exp_expr(0), 1); @@ -190,8 +191,10 @@ expansions */ defrule(r_exp_β_val, β_expr(m_any1), β_expr_val(m_any1, expansion_order)); defrule(r_exp_γ_val, γ_expr(m_any1), γ_expr_val(m_any1, expansion_order)); defrule(r_exp_Φ_val, Φ_expr(m_any1), Φ_expr_val(m_any1, expansion_order)); +defrule(r_exp_e_val, e_expr(m_any1), exp(m_any)); -unwrap_exp(expr) := apply1(expr, r_exp_β_val, r_exp_γ_val, r_exp_Φ_val); +unwrap_exp(expr) := ( + apply1(expr, r_exp_β_val, r_exp_γ_val, r_exp_Φ_val, r_exp_e_val)); /**/ |
