Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/11/24 14:07:03.493 (台灣標準時)

sympy パッケージ

sympy パッケージというものがあって、方程式を解析的に解かせる、というよ うなことができるようなので、試してみたでござる。

ガウス積分

以下のようにすればガウス積分を計算してもらうことができるようでござる。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:01:15 (CST) daisuke>

# importing sympy module
import sympy

# variable
x = sympy.Symbol ('x')

# function f(x)
f = sympy.exp (-x**2)

# integration of f(x)
I = sympy.integrate (f, (x, -sympy.oo, sympy.oo))

# printing result
print (I)

実行結果は以下の通りにござる。

% ./test_00.py
sqrt(pi)

式の展開

式の展開の例。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:01:20 (CST) daisuke>

# importing sympy module
import sympy

# variable
x = sympy.Symbol ('x')

# function f(x)
f = (x+1) * (x-1)

# expanding f(x)
f2 = sympy.expand (f)

# printing result
print (f, "=", f2)

実行結果は以下の通りにござる。

% ./test_01.py
(x - 1)*(x + 1) = x**2 - 1

極限

極限の求め方。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:01:25 (CST) daisuke>

# importing sympy module
import sympy

# variable
x = sympy.Symbol ('x')

# function f(x)
f = sympy.sin (x) / x

# lim (x -> 0) sin(x)/x
lim_0 = sympy.limit (f, x, 0)

# printing result
print ("lim_0 sin(x)/x =", lim_0)

実行結果は以下の通り。

% ./test_02.py 
lim_0 sin(x)/x = 1

代数方程式を解く

二次方程式を解く。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:01:29 (CST) daisuke>

# importing sympy module
import sympy

# variable
x, a, b, c = sympy.symbols ('x a b c')

# function f(x)
f = a*x**2 + b*x + c

# solving f(x) = 0
sol = sympy.solve (f, x)

# printing result
print ("x =", sol)

実行結果は以下の通り。

% ./test_03.py
x = [(-b + sqrt(-4*a*c + b**2))/(2*a), -(b + sqrt(-4*a*c + b**2))/(2*a)]

微分方程式を解く

微分方程式を解く。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:01:34 (CST) daisuke>

# importing sympy module
import sympy

# variable
x, y, k = sympy.symbols ('x y k')

# function y(x)
y = sympy.Function ('y')

# solving dy/dx = -ky
sol = sympy.dsolve (sympy.Eq (y(x).diff (x), -k*y(x)), y(x))

# printing result
print ("y =", sol)

実行結果は以下の通り。

% ./test_04.py
y = Eq(y(x), C1*exp(-k*x))

式の整理

式の整理の例。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:01:38 (CST) daisuke>

# importing sympy module
import sympy

# variable
x, y = sympy.symbols ('x y')

# function f(x,y)
f = (x+y)**2 - (x-y)**2

# solving f(x) = 0
f2 = sympy.simplify (f)

# printing result
print (f, "=", f2)

実行結果。

% ./test_05.py
-(x - y)**2 + (x + y)**2 = 4*x*y

n=0 の Lane-Emden 方程式を解く

n=0 の Lane-Emden 方程式を解いてみる。


#!/usr/pkg/bin/python3.9

# Time-stamp: <2022/04/18 21:08:41 (CST) daisuke>

# importing sympy module
import sympy

# variable
x = sympy.Symbol ('x')

# function y(x)
y = sympy.Function ('y')

# differential equation
lane_emden_0 = sympy.Eq (x**-2 * (x**2 * y(x).diff (x)).diff (x), -1)

# solving lane-emden equation of n=0
sol = sympy.dsolve (lane_emden_0, y(x))

# printing result
print ("y =", sol)

実行結果は以下の通り。

% ./test_06.py 
y = Eq(y(x), C1 + C2/x - x**2/6)

fig_202204/sympy_00.png
fig_202204/sympy_01.png
fig_202204/sympy_02.png
fig_202204/sympy_03.png
fig_202204/sympy_04.png
fig_202204/sympy_05.png
fig_202204/sympy_06.png


Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___NetBSD/20220817_3.html
  10. Computer___Python/20220410_0.html
  11. Computer___Network/20240416_00.html
  12. Computer___Network/20240130_00.html
  13. Computer___Debian/20210223_1.html
  14. Computer___NetBSD/20230119_00.html
  15. Computer___Python/20210124_0.html
  16. Computer___Python/20221013_0.html
  17. Computer___NetBSD/20220818_1.html
  18. Computer___NetBSD/20220428_0.html
  19. Science___Math/20220420_0.html
  20. Computer___NetBSD/20240101_02.html
  21. Computer___NetBSD/20220808_0.html
  22. Computer___TeX/20230503_00.html
  23. Computer___NetBSD/20230515_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20210127_0.html
  26. Computer___Python/20240101_00.html
  27. Computer___Network/20220413_1.html
  28. Computer___Python/20220816_1.html
  29. Computer___NetBSD/20210204_0.html
  30. Travel___Taiwan/20220809_2.html


HTML file generated by Kinoshita Daisuke.