シュバルツシルト時空中の光の経路を決める式を2階微分方程式の形にして解く。
光の経路を決める式
両辺を
初期条件
1階微分方程式のときには1個の積分定数を決めるための初期条件はひとつでよくて,
のとき, および, のとき,
のゼロ次解
初期条件
の1次解
この非同次方程式の解(同次方程式の基本解と非同次方程式の特殊解の和)に初期条件を課す。
したがって
Maxima で非同次方程式を解いてみる
In [1]:
eq: 'diff(u1, phi, 2) + u1 = 3/(2*b) * sin(phi)**2;
Out[1]:
In [2]:
sol: ode2(eq, u1, phi);
Out[2]:
初期条件
In [3]:
sol1: ic2(sol, phi = %pi/2, u1 = 0, 'diff(u1, phi) = 0);
Out[3]:
In [4]:
ev(sol1, cos(2*phi)=1 - 2*sin(phi)**2), ratsimp;
Out[4]:
SymPy で非同次方程式を解いてみる
モジュールの import
In [1]:
from sympy.abc import *
from sympy import *
In [2]:
u1 = Function('u1')
eq = Eq(Derivative(u1(phi), phi, 2) + u1(phi),
Rational(3,2) * sin(phi)**2/b
)
eq
Out[2]:
In [3]:
dsolve(eq, u1(phi),
ics = {u1(phi).subs(phi, pi/2):0, # u1(pi/2) = 0
diff(u1(phi), phi).subs(phi, pi/2):0 # d u1/d phi(pi/2) = 0
})
Out[3]:
In [4]:
factor(_)
Out[4]:
In [5]:
_.subs(cos(phi)**2, 1 - sin(phi)**2)
Out[5]: