Pythonを用いた機械学習17日目
行列と写像、連立方程式(①)、練習問題(逆行列を求める、連立方程式を解く②)を解いてみる。
1.行列と写像、連立方程式
*線形写像・・・行列を掛ける操作のこと
*連立方程式をプログラムで解くコード
>>> import numpy as np
>>> A = np.array([[2,3],[-1,4]])
>>> B = np.array([7,2])
>>>
>>> print(np.linalg.inv(A) @ B)
[2. 1.]
2.練習問題
⑤以下の逆行列をPythonでプログラミングして求める
(1)
(2)
(3)
プログラム
>>> import numpy as np
>>>
>>> A = np.array([[3,-2],[4,5]])
>>> B = np.array([[1,-3,4],[-2,5,3],[2,-1,0]])
>>> C = np.array([[-1,5,2,-3],[0,3,-1,4],[2,-3,0,-5],[-4,2,3,1]])
>>>
>>> print(np.linalg.inv(A))
[[ 0.2173913 0.08695652]
[-0.17391304 0.13043478]]
>>> print(np.linalg.inv(B))
[[-0.06382979 0.08510638 0.61702128]
[-0.12765957 0.17021277 0.23404255]
[ 0.17021277 0.10638298 0.0212766 ]]
>>> print(np.linalg.inv(C))
[[-0.5 2.75 2.75 1.25 ]
[ 0.1875 -0.09375 -0.21875 -0.15625]
[-0.6875 3.34375 3.46875 1.90625]
[-0.3125 1.15625 1.03125 0.59375]]
>>>
⑥以下の連立方程式をPythonでプログラミングして求める
(1)
プログラム
>>> import numpy as np
>>>
>>> A = [[2,5,-4],[3,-2,6],[-1,3,-2]]
>>> B = [9,9,4]
>>>
>>> print(np.linalg.inv(A) @ B)
[1. 3. 2.]
答え:x=1,y=3,z=2
(2)
プログラム
>>> import numpy as np
>>>
>>> A = [[-1,3,5,2],[4,-6,3,-1],[3,3,-4,3],[2,-1,2,-4]]
>>> B = [8,-32,26,-25]
>>>
>>> print(np.linalg.inv(A) @ B)
[-1. 3. -2. 4.]
答え:a=-1,b=3,c=-2,d=4
次回から、関数と微分について学んでいく。
いいなと思ったら応援しよう!
よろしければサポートお願いします。いただいたサポートを皆さんに還元していきたいと思っております。