Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Nested Taylors #126

Open
wants to merge 34 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
d2438b9
Created nested_taylor.jl
blas-ko Sep 23, 2017
5d2793b
Added functions to create independent variables via nested taylors.
blas-ko Sep 23, 2017
9ada5a9
Exported nested_taylor file and functions.
blas-ko Sep 23, 2017
3b68fb3
Add function-like behavior for Taylor1, TaylorN, HomogeneousPolynomia…
PerezHz Sep 29, 2017
2111846
norm methods for AbstractSeries (#128)
blas-ko Oct 6, 2017
909689b
taylor_expand function for Taylor1 and TaylorN (#121)
blas-ko Oct 8, 2017
d2eedd7
Use new syntax of Julia 0.6 (#115)
lbenet Oct 9, 2017
cde8874
Mutating functions (#129)
lbenet Oct 27, 2017
88c73c4
Declared new method for get_variables. (#131)
blas-ko Nov 7, 2017
dc6f100
Change indexing to start from zero (#135)
lbenet Nov 14, 2017
8a8d3fb
Integration of TaylorN series (#136)
lbenet Nov 22, 2017
8c385c7
RFC: Return n-th derivative of a Taylor1 as a Taylor1 (#137)
PerezHz Nov 24, 2017
5d9794f
Add displayBigO to set/unset printing the bigO notation (#139)
lbenet Nov 27, 2017
c00bae7
Use `a[i0:i1]` or `a[:]` to iterate over Taylor1/TaylorNs (#141)
lbenet Dec 5, 2017
008b67d
RFC: Add `rad2deg`, `deg2rad` for Taylor1 and TaylorN (#142)
PerezHz Dec 5, 2017
10ab42c
Avoid irrelevant checks in getindex and setindex! (#143)
lbenet Dec 5, 2017
34f7a48
Matrix evaluation for Taylor1 and TaylorN polynomials (#144)
blas-ko Jan 12, 2018
4a1eed0
Correct the returned series when factorizing, with tests (#145)
lbenet Feb 19, 2018
c6b45d2
Fix integrate for several variables and add simple tests (#149)
dpsanders Feb 21, 2018
54ad15d
Add symbols for variables to params (#150)
dpsanders Feb 22, 2018
ffc2436
Revert "Add symbols for variables to params (#150)" (#153)
dpsanders Feb 22, 2018
1c32f7c
Variable symbols (#154)
dpsanders Feb 22, 2018
5007129
Diferentiate, integrate and evaluate with symbols (#155)
lbenet Feb 23, 2018
21d786c
Deprecations related to Julia0.7 (#157)
lbenet Feb 27, 2018
c5f366c
Evaluate with tuples (#159)
lbenet Mar 1, 2018
cb16e09
Solve deprecations that break tests in Julia 0.7 (#160)
lbenet Mar 12, 2018
8efe0f1
Fixes related to deprecations in Julia 0.7 (#161)
lbenet Mar 18, 2018
23c0657
Type-stable mutating functions (#162)
lbenet Apr 4, 2018
81b4649
Partial derivatives of TaylorN (#164)
lbenet Apr 17, 2018
3035cde
Separate methods for ^ to use power_by_squaring or pow! (#165)
lbenet Apr 20, 2018
3aa1073
Created nested_taylor.jl
blas-ko Sep 23, 2017
b1e12bd
Added functions to create independent variables via nested taylors.
blas-ko Sep 23, 2017
b2b85ed
Exported nested_taylor file and functions.
blas-ko Sep 23, 2017
43cb5f0
Merge branch 'nested_taylor' of https://github.com/blas-ko/TaylorSeri…
blas-ko May 14, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@ os:
- osx

julia:
- 0.5
- 0.6
- nightly

notifications:
email: false

matrix:
allow_failures:
- julia: nightly

script:
- if [[ -a .git/shallow ]]; then git fetch --unshallow; fi
- julia --check-bounds=yes -e 'Pkg.clone(pwd()); Pkg.build("TaylorSeries"); Pkg.test("TaylorSeries"; coverage=true)'
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
A [Julia](http://julialang.org) package for Taylor expansions in one or more
independent variables.

[![TaylorSeries](http://pkg.julialang.org/badges/TaylorSeries_0.5.svg)](http://pkg.julialang.org/?pkg=TaylorSeries)
[![TaylorSeries](http://pkg.julialang.org/badges/TaylorSeries_0.6.svg)](http://pkg.julialang.org/?pkg=TaylorSeries)
[![TaylorSeries](http://pkg.julialang.org/badges/TaylorSeries_0.7.svg)](http://pkg.julialang.org/?pkg=TaylorSeries)
[![Coverage Status](https://coveralls.io/repos/JuliaDiff/TaylorSeries.jl/badge.svg?branch=master)](https://coveralls.io/github/JuliaDiff/TaylorSeries.jl?branch=master)

[![](https://img.shields.io/badge/docs-stable-blue.svg)](http://www.juliadiff.org/TaylorSeries.jl/stable)
Expand Down
4 changes: 2 additions & 2 deletions REQUIRE
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
julia 0.5
Compat 0.17.0
julia 0.6
Compat 0.54.0
1 change: 1 addition & 0 deletions docs/REQUIRE
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Documenter 0.16.1 0.16.1+
2 changes: 1 addition & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ makedocs(
deploydocs(
repo = "github.com/JuliaDiff/TaylorSeries.jl.git",
target = "build",
julia = "0.5",
julia = "0.6",
osname = "linux",
deps = nothing,
make = nothing
Expand Down
35 changes: 25 additions & 10 deletions docs/src/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
CurrentModule = TaylorSeries
```

## Module
```@docs
TaylorSeries
```
Expand All @@ -17,20 +18,23 @@ Taylor1
HomogeneousPolynomial
TaylorN
AbstractSeries
ParamsTaylorN
```

## Functions and methods

```@docs
Taylor1([::Type{Float64}], [order::Int64=1])
HomogeneousPolynomial{T<:Number}(::Type{T}, ::Int)
TaylorN{T<:Number}(::Type{T}, nv::Int; [order::Int=get_order()])
Taylor1(::Type{T}, ::Int64=1) where {T<:Number}
HomogeneousPolynomial(::Type{T}, ::Int) where {T<:Number}
TaylorN(::Type{T}, ::Int; ::Int=get_order()) where {T<:Number}
set_variables
get_variables
show_params_TaylorN
get_coeff
show_monomials
getcoeff
evaluate
evaluate!
taylor_expand
update!
derivative
integrate
gradient
Expand All @@ -39,27 +43,33 @@ jacobian!
hessian
hessian!
inverse
abs
norm
isapprox
isfinite
displayBigO
```

## Internals

```@docs
ParamsTaylorN
_InternalMutFuncs
generate_tables
generate_index_vectors
in_base
make_inverse_dict
order_posTb
resize_coeffs1!
resize_coeffsHP!
zero_korder
constant_term
mul!
mul!(c::HomogeneousPolynomial, a::HomogeneousPolynomial, b::HomogeneousPolynomial)
mul!(::HomogeneousPolynomial, ::HomogeneousPolynomial, ::HomogeneousPolynomial)
mul!(::Vector{Taylor1{T}}, ::Union{Matrix{T},SparseMatrixCSC{T}},::Vector{Taylor1{T}}) where {T<:Number}
div!
pow!
square
sqr!
sqr!(c::HomogeneousPolynomial, a::HomogeneousPolynomial)
sqr!(::HomogeneousPolynomial{T}, ::HomogeneousPolynomial{T}) where {T<:NumberNotSeriesN}
sqrt!
exp!
log!
Expand All @@ -70,7 +80,12 @@ acos!
atan!
sinhcosh!
tanh!
A_mul_B!
derivative!
_internalmutfunc_call
_dict_unary_ops
_dict_binary_calls
_dict_unary_calls
_dict_binary_ops
```

## Index
Expand Down
7 changes: 4 additions & 3 deletions docs/src/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The first example shows that the four-square identity holds:
\end{eqnarray}
```
which was originally proved by Euler. The code can also be found in
[this test](../../test/identities_Euler.jl) of the package.
[this test](https://github.com/JuliaDiff/TaylorSeries.jl/blob/master/test/identities_Euler.jl) of the package.

First, we reset the maximum degree of the polynomial to 4, since the RHS
of the equation has *a priori* terms of fourth order, and define the 8
Expand Down Expand Up @@ -112,7 +112,7 @@ We note that the above functions use expansions in `Int128`. This is actually
required, since some coefficients are larger than `typemax(Int)`:

```@repl fateman
get_coeff(f2, [1,6,7,20]) # coefficient of x y^6 z^7 w^{20}
getcoeff(f2, (1,6,7,20)) # coefficient of x y^6 z^7 w^{20}
ans > typemax(Int)
length(f2)
sum(TaylorSeries.size_table)
Expand All @@ -127,7 +127,8 @@ monomials in 4 variables.
### Bechmarks

The functions described above have been compared against Mathematica v11.1.
The relevant files used for benchmarking can be found [here](../../perf/).
The relevant files used for benchmarking can be found
[here](https://github.com/JuliaDiff/TaylorSeries.jl/tree/master/perf).
Running on a MacPro with Intel-Xeon processors 2.7GHz, we obtain that
Mathematica requires on average (5 runs) 3.075957 seconds for the computation,
while for `fateman1` and `fateman2` above we obtain 2.811391 and 1.490256,
Expand Down
Loading