updates after up

This commit is contained in:
jverzani
2024-05-25 14:52:20 -04:00
parent 52aaa5d487
commit f9df119df0
6 changed files with 350 additions and 12 deletions

View File

@@ -838,10 +838,18 @@ substitute(ΣqᵢΘᵢ, d)
The package provides an algorithm for the creation of candidates and the means to solve when possible. The `integrate` function is the main entry point. It returns three values: `solved`, `unsolved`, and `err`. The `unsolved` is the part of the integrand which can not be solved through this package. It is `0` for a given problem when `integrate` is successful in identifying an antiderivative, in which case `solved` is the answer. The value of `err` is a bound on the numerical error introduced by the algorithm.
::: {.callout-note}
### This is currently broken
The following isn't working with `SymbolicNumericIntegration` version `v"1.4.0"`. For now, the cells are not evaluated.
:::
To see, we have:
```{julia}
#| eval: false
using SymbolicNumericIntegration
@variables x
@@ -852,6 +860,7 @@ The second term is `0`, as this integrand has an identified antiderivative.
```{julia}
#| eval: false
integrate(exp(x^2) + sin(x))
```
@@ -862,6 +871,7 @@ Powers of trig functions have antiderivatives, as can be deduced using integrati
```{julia}
#| eval: false
u,v,w = integrate(sin(x)^5)
```
@@ -869,6 +879,7 @@ The derivative of `u` matches up to some numeric tolerance:
```{julia}
#| eval: false
Symbolics.derivative(u, x) - sin(x)^5
```
@@ -879,6 +890,7 @@ The integration of rational functions (ratios of polynomials) can be done algori
```{julia}
#| eval: false
import SymbolicNumericIntegration: factor_rational
@variables x
u = (1 + x + x^2)/ (x^2 -2x + 1)
@@ -889,6 +901,7 @@ The summands in `v` are each integrable. We can see that `v` is a reexpression t
```{julia}
#| eval: false
simplify(u - v)
```
@@ -896,6 +909,7 @@ The algorithm is numeric, not symbolic. This can be seen in these two factorizat
```{julia}
#| eval: false
u = 1 / expand((x^2-1)*(x-2)^2)
v = factor_rational(u)
```
@@ -904,6 +918,7 @@ or
```{julia}
#| eval: false
u = 1 / expand((x^2+1)*(x-2)^2)
v = factor_rational(u)
```