from sympy import *
x, y, z, w = Symbols('x y z w')
print(solve([z + 5*w - x, -3*z + 6*w - y], [z, w]))
from sympy import *
x = Symbol('x')
y = Symbol('y')
z = Symbol('z')
w = Symbol('w')
print(solve([z + 5*w - x, -3*z + 6*w - y], [z, w]))
## {w: x/7 + y/21, z: 2*x/7 - 5*y/21}
from sympy import Symbol, Matrix, solve_linear_system
from sympy.abc import x, y, z, w, u, v
d12 = Symbol('d12')
d13 = Symbol('d13')
d14 = Symbol('d14')
d23 = Symbol('d23')
d24 = Symbol('d24')
d34 = Symbol('d34')
system = Matrix(( (1, 1, 0, 0, 1, 0, d12),
(1, 0, 1, 0, 1, 1, d13),
(1, 0, 0, 1, 0, 1, d14),
(0, 1, 1, 0, 0, 1, d23),
(0, 1, 0, 1, 1, 1, d24),
(0, 0, 1, 1, 1, 0, d34) ))
ans = solve_linear_system(system, x, y, z, w, u, v)
print(ans)
## {x: d12/2 + d14/2 - d24/2, u: d13/2 - d14/2 - d23/2 + d24/2, w: -d13/2 + d14/2 + d34/2, y: d12/2 - d13/2 + d23/2, v: -d12/2 + d13/2 + d24/2 - d34/2, z: d23/2 - d24/2 + d34/2}
import numpy
s = numpy.matrix([ [1, 1, 0, 0, 1, 0],
[1, 0, 1, 0, 1, 1],
[1, 0, 0, 1, 0, 1],
[0, 1, 1, 0, 0, 1],
[0, 1, 0, 1, 1, 1],
[0, 0, 1, 1, 1, 0] ])
gyaku = numpy.linalg.inv(s)
print(gyaku)
## [[ 0.5 0. 0.5 0. -0.5 0. ]
## [ 0.5 -0.5 -0. 0.5 -0. -0. ]
## [ 0. 0. 0. 0.5 -0.5 0.5]
## [ 0. -0.5 0.5 0. 0. 0.5]
## [ 0. 0.5 -0.5 -0.5 0.5 0. ]
## [-0.5 0.5 -0. -0. 0.5 -0.5]]
やりかたによっては表示されない。solveはSmyPy と混乱する。 print() を付けないないなら、冒頭にmatrix が付く。 なお、係数に変数がはいっていなならこの方が読み取りやすい。
def fibPy(n):
if n==0 or n==1:
return n
else:
return fibPy(n-1) + fibPy(n-2)
print(fibPy(10))
## 55