Skip to content

Commit ee3d6cd

Browse files
committed
Improve derivatives
1 parent 7b2c40e commit ee3d6cd

File tree

10 files changed

+23
-27
lines changed

10 files changed

+23
-27
lines changed
14 Bytes
Binary file not shown.

eggdriver/resources/math/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
from eggdriver.resources.math.constants import inf, e, pi
66
from eggdriver.resources.math.functions import log, ln, cos, sin, tan
77
from eggdriver.resources.math.linear import Vector, Matrix
8-
from eggdriver.resources.math.calculus import lim, PowerSerie, derive, derivative
8+
from eggdriver.resources.math.calculus import *
99

-63 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from eggdriver.resources.math.calculus.limit import lim
2-
from eggdriver.resources.math.calculus.series import PowerSerie
2+
from eggdriver.resources.math.calculus.series import *
33
from eggdriver.resources.math.calculus.derivatives import *
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
from eggdriver.resources.math.constants import inf
1+
def derive(poly, n: int = 1):
2+
p = poly
3+
if n >= 1:
4+
for deg in range(n):
5+
der_poly = p
6+
for i in range(p.size):
7+
der_poly[i] = 0
8+
if i < p.size - 1:
9+
der_poly[i] = p[i + 1] * (i + 1)
10+
p = der_poly
11+
return p
212

3-
def derive(poly):
4-
der_poly = poly
5-
for i in range(poly.size):
6-
der_poly[i] = 0
7-
if i < poly.size - 1:
8-
der_poly[i] = poly[i + 1] * (i + 1)
9-
return der_poly
1013

11-
def derivative(f):
12-
h = 1 / inf
13-
def d(x):
14-
(f(x + h) - f(x)) / h
15-
return d
14+
15+

eggdriver/resources/math/calculus/series.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ def PowerSerie(n_term, number_of_terms = series_inf):
1212

1313
def cos_term(n):
1414
return ((-1) ** n) / factorial(2 * n), 2 * n
15+
1516
cos_serie = PowerSerie(cos_term)
1617

1718
def sin_term(n):
1819
return ((-1) ** n) / factorial(2 * n + 1), 2 * n + 1
20+
1921
sin_serie = PowerSerie(sin_term)
22+

manual_test.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,16 @@
66
ed.buildEggdriver() ##
77
###############################
88

9-
ed.eggConsole()
10-
119
# ed.header("uwu")
1210

13-
def g(x):
14-
return x**2
15-
16-
j = ed.derivative(g)
17-
print(ed.derivative(g), j, ed.derivative(g)(0), j(0))
18-
1911
theta = ed.pi/3
2012
print(ed.sin(theta), ed.cos(theta), ed.tan(theta))
2113

22-
p = ed.Polynomial("6 +x^2 +x^9 -5x^7")
23-
p.display()
24-
dp = ed.derive(p)
25-
dp.display()
14+
p = ed.sin_serie
15+
print(p.eval(theta))
16+
ed.derive(p)
17+
print(p.eval(theta))
18+
2619

2720
c = ed.Matrix("""
2821
| 1 1 2 3 4 |

0 commit comments

Comments
 (0)