Skip to content

Instantly share code, notes, and snippets.

@shivamvats
Last active August 29, 2015 14:26
Show Gist options
  • Save shivamvats/85ece88a20401f19dbb2 to your computer and use it in GitHub Desktop.
Save shivamvats/85ece88a20401f19dbb2 to your computer and use it in GitHub Desktop.
Note that `taylor` returns the answer in the form of Basic expr (though it does this
smartly). Therefore, it has an extra( < 1% ) overhead compared to `series_fast`
1. series: p = (sin(a)+cos(a))**10, prec=10
series_fast: 1 loops, best of 3: 1.87 s per loop taylor: too long
2. series: p = sin(a) + cos(a), prec=100
series_fast: 10 loops, best of 3: 113 ms per loop taylor: 1 loops, best of 3: 181 ms per loop
3. series: p=sin(a)*cos(a)*sin(a)**2*cos(a)**3, prec=50
series_fast: 1 loops, best of 3: 336 ms per loop taylor: 1 loops, best of 3: 1.2 s per loop
4. series: p = (sin(a) - a)*(cos(a**2) + a**4/2), prec=50
series_fast: 1 loops, best of 3: 603 ms per loop taylor: 1 loops, best of 3: 786 ms per loop
5. series: p = sin(x**2 + a)*(cos(x**3 - 1) - a - a**2), prec=100
series_fast: 1 loops, best of 3: 705 ms per loop taylor: 1 loops, best of 3: 378 ms per loop
6. series: p = sin(a**2 - a + 2)**5*cos(a**3 - a), prec=50
series_fast: 1 loops, best of 3: 2.68 s per loop taylor: 1 loops, best of 3: 3.11 s per loop
For prec=100, series_fast takes too much time while taylor takes almost the same time as for prec=50.
7. series: p=sin(a + x**2)*cos(a*b + x) + sin(sin(a**2 + x)), prec=10
series_fast: 1 loops, best of 3: 1.22 s per loop taylor: 1 loops, best of 3: 1.17 s per loop
7.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment