【NumPy】連立方程式を解く numpy.linalg.solve

スポンサーリンク

この記事では、Python言語とNumPyを用いて、連立方程式を解く方法をソースコード付きで解説します。

スポンサーリンク

連立方程式の解

PythonではNumPyを用いることで連立方程式を解くことが出来ます。

【書式】
X = numpy.linalg.solve(A, B)

第1引数(A):連立方程式AX=Bの正方行列A
第2引数(B):連立方程式のベクトルB
戻り値(X):連立方程式の解

PythonとNumPyのlinalg.solveを利用すると、連立方程式の解を求めることが出来ます。

ただし、連立方程式を行列の式(AX=B)に変換する必要があります。

例えば以下の連立の方程式の場合を考えます。

\begin{eqnarray}
\begin{cases}
a_{11}x_1 + a_{12}x_2 = b_1 & \
a_{21}x_1 + a_{22}x_2 = b_2 &
\end{cases}
\end{eqnarray}

これを行列の式(AX=B)に変換すると次のようになります。

\begin{eqnarray}
AX=B
\end{eqnarray}
\begin{eqnarray}
A= \begin{bmatrix}a_{11} & a_{12} \a_{21} & a_{22} \end{bmatrix}
, X= \begin{bmatrix}x_1\x_2 \end{bmatrix}
, B= \begin{bmatrix}b_1\b_2 \end{bmatrix}
\end{eqnarray}

ソースコード

サンプルプログラムのソースコードは下記の通りです。

実行結果

サンプルプログラムの実行結果は下記の通りです。

X=[ 0.1 0.3]

解Xが求まりました。(x1=0.1, x2=0.3)

【おすすめ関連記事】
Python入門 基本文法
NumPy入門 サンプルプログラム集

スポンサーリンク

シェア&フォローお願いします!