PythonによるNumpyの行列演算
2022-02-02 19:51:53
線形代数を学習する際に触れる行列同士の掛け算は、行列のフォーク掛けを前提に
行列Aが次数m*n、Bが次数p*qで、ABが乗算できる場合、まず:n=pを満たすこと、つまりAの列数とBの行数が等しいことが必要であり、その操作は以下のように行われる。
当時、線形代数を学ぶ際に先生方が教えていたより直感的な表記は
ドットプロダクトはこのようになります。
2 つの行列 a, b があるとき,Matlab では以下のように内積とフォーク積を実装します.
a.*b % for dot product
a*b % is a fork multiplication
ここでは、pythonで行うことを説明します。
import numpy as np
a = np.range(1, 10).reshape(3, 3)
b = np.range(1, 10).reshape(3, 3)
print(a)
print(a*b) # dot product only allows 1*m and m*n
a1 = np.mat(np.range(1, 10).reshape(3, 3))
a2 = np.mat(np.range(1, 10).reshape(3, 3))
a3 = np.dot(a1, a2) # use dot for fork multiplication
print(a1)
print(a3)
走行の結果
使用方法
python
と同じように動作します。
Matlab
Numpyライブラリのdot関数は、配列の掛け算をするためのものです。
PythonでNumpyの行列演算に関する記事は以上となります。PythonでのNumpyの行列演算については、スクリプトハウスの過去記事を検索するか、以下の記事を引き続き閲覧してください。
関連
-
[解決済み】 _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】pkg_resources という名前のモジュールがありません。
-
Djangoプロジェクトの構成は、独立した実装を分割する
-
Pythonスクリプトフレームワークwebpyのurlマッピングの説明
-
[解決済み] Windows での Python ライブラリのインストールに関する問題点 : CondaHTTPErrorです。HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/anaconda/win-64
-
[解決済み] インテル® MKL FATAL ERROR。libmkl_avx2.so または libmkl_def.so をロードできません。
-
[解決済み] Gensim: TypeError: doc2bow expects an array of unicode tokens on the input, not the single string
-
[解決済み] Gephiで可視化するためにnetworkxのグラフを保存する方法は?
-
ImportError を解決します。redis という名前のモジュールがない
-
Python の open() でファイルを読み込む際の Unicode エンコーディングの問題
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
ピロウズ画像色処理の具体的な活用方法
-
[解決済み】TypeError: タプルのインデックスは整数でなければならず、strであってはならない
-
Pygame Timeコントロールの具体的な使用方法について説明します。
-
[解決済み] gtk.gdkをgi.repositoryからインポートするにはどうすればよいですか?
-
[解決済み] matplotlib.mlab.normpdf()の正しい使い方は?
-
[解決済み] 指定した1列を除くすべてのDataFrameを取得する【重複
-
[解決済み] PyCharmで新しいスクラッチファイルを開くには?
-
python error TypeError:Cannot convert the series to class float
-
エラー:イテレータはバイトではなく文字列を返すべき(ファイルをテキストで開いたか?