Function: math-integrate-by-good-substitution
math-integrate-by-good-substitution is a byte-compiled function
defined in calcalg2.el.gz.
Signature
(math-integrate-by-good-substitution EXPR U &optional USER UINV UINVPRIME)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calcalg2.el.gz
(defun math-integrate-by-good-substitution (expr u &optional user
uinv uinvprime)
(let ((math-living-dangerously t)
deriv temp)
(and (setq uinv (if uinv
(math-expr-subst uinv math-integ-var
math-integ-var-2)
(let (calc-next-why)
(math-solve-for u
math-integ-var-2
math-integ-var nil))))
(progn
(math-tracing-integral "Integrating by substitution, u = "
(math-format-value u 1000)
"\n")
(or (and (setq deriv (calcFunc-deriv u
math-integ-var nil
(not user)))
(setq temp (math-integral (math-expr-subst
(math-expr-subst
(math-expr-subst
(math-div expr deriv)
u
math-integ-var-2)
math-integ-var
uinv)
math-integ-var-2
math-integ-var)
'yes)))
(and (setq deriv (or uinvprime
(calcFunc-deriv uinv
math-integ-var-2
math-integ-var
(not user))))
(setq temp (math-integral (math-mul
(math-expr-subst
(math-expr-subst
(math-expr-subst
expr
u
math-integ-var-2)
math-integ-var
uinv)
math-integ-var-2
math-integ-var)
deriv)
'yes)))))
(math-simplify-extended
(math-expr-subst temp math-integ-var u)))))