Polynomial inversion
This is a DACE example showing polynomial inversion, demonstrating:
- How to load DACE.jl
- How to initialise the DACE library
- How to create a
DAobject - How to create an
AlgebraicVector - How to invert a Taylor polynomial
Install dependencies
Make sure the required packages are installed
using Pkg
Pkg.add("DACE")Using DACE
Write
using DACEto load DACE functions and objects into our script.
Initialise DACE for 10th-order computations in 1 variable
DACE.init(10, 1)Initialise x as a DA object
x = DACE.DA(1, 1) I COEFFICIENT ORDER EXPONENTS
1 1.0000000000000000e+00 1 1
------------------------------------------------
Create y as AlgebraicVector of type DA and size 1
y = AlgebraicVector{DA}(1)1-element DACE.AlgebraicVectorAllocated{DA}:
ALL COEFFICIENTS ZERO
------------------------------------------------
Store the Taylor expansion of sin(x) in the first element of y
y[1] = sin(x) I COEFFICIENT ORDER EXPONENTS
1 1.0000000000000000e+00 1 1
2 -1.6666666666666666e-01 3 3
3 8.3333333333333332e-03 5 5
4 -1.9841269841269841e-04 7 7
5 2.7557319223985893e-06 9 9
------------------------------------------------
Invert the Taylor polynomial
inv_y = DACE.invert(y)1-element DACE.AlgebraicVectorAllocated{DA}:
I COEFFICIENT ORDER EXPONENTS
1 1.0000000000000000e+00 1 1
2 1.6666666666666666e-01 3 3
3 7.4999999999999997e-02 5 5
4 4.4642857142857137e-02 7 7
5 3.0381944444444437e-02 9 9
------------------------------------------------
Finally compare the polynomial inversion of sin(x)
println("polynomial inversion of sin(x)")
println(inv_y)polynomial inversion of sin(x)
[[[ 1 vector
I COEFFICIENT ORDER EXPONENTS
1 1.0000000000000000e+00 1 1
2 1.6666666666666666e-01 3 3
3 7.4999999999999997e-02 5 5
4 4.4642857142857137e-02 7 7
5 3.0381944444444437e-02 9 9
------------------------------------------------
]]]
with asin(x)
println("asin(x)")
println(asin(x))asin(x)
I COEFFICIENT ORDER EXPONENTS
1 1.0000000000000000e+00 1 1
2 1.6666666666666669e-01 3 3
3 7.5000000000000067e-02 5 5
4 4.4642857142857206e-02 7 7
5 3.0381944444444586e-02 9 9
------------------------------------------------
This page was generated using Literate.jl.