Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 1794
Image: ubuntu2004
1
def generator():
2
t = var("t")
3
y,yp = mi_vars("y","y'")
4
5
# pick n for y=kx^n
6
n = randrange(2,6)*choice([-1,1])
7
# pick initial value
8
t0 = choice([-1,1])
9
# pick coefficient
10
k = randrange(1,5)*choice([-1,1])
11
hom_sol = k*t^n
12
# particular solution
13
kp = randrange(1,6)*choice([-1,1])
14
m = n
15
while m==n:
16
m = randrange(1,5)*choice([-1,1])
17
part_sol = kp*t^m
18
ts = n*part_sol-t*part_sol.diff()
19
ode = shuffled_equation(ts,t*yp,-n*y)
20
ivp_sol = (y==k*t^n+part_sol)
21
y0 = k*t0^n+kp*t0^m
22
23
return {
24
"ode": ode,
25
"t0": t0,
26
"y0": y0,
27
"ivp_sol": ivp_sol,
28
}
29
30