Q&A
解決済
3回答
1801閲覧
総合スコア19
NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
1グッド
0クリップ
投稿2021/02/03 13:48
1
0
以下の計算をするとエラーが出ます。 なぜか分かりません。 bは2×3の行列 a2は3×2の行列 です。 結果は、2×2の行列となると思っていますが、違いました。
ご指導よろしくお願いいたします。
import numpy as np a = np.array([[0,1,10],[0,1,10]]) b = a.copy() a2 = a.reshape(3,2) b*a2
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答3件
https://note.nkmk.me/python-numpy-matrix/ を参照していただければと思います。 @演算子と等価なものにnumpy.matmul()があります。
投稿2021/02/03 14:14
総合スコア7
回答へのコメント
2021/02/10 12:30
ベストアンサー
numpyでは*はかなり複雑な挙動の演算子ですが、とりあえず同じndimの行列同士で演算する場合はアダマール積になります。よって異なるshapeでは使えません。
*
ndim
ドット積(通常の行列関)は@演算子で求めることが出来ます。
@
python1b @ a2 2
python
1b @ a2 2
投稿2021/02/03 13:54
総合スコア30939
2021/02/10 12:31
* は要素ごとの積です、行列積を計算したい場合は @ 演算子です。
diff1- c = b * a2 2+ c = b @ a2
diff
1- c = b * a2 2+ c = b @ a2
投稿2021/02/03 13:52
総合スコア21962
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.25%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
numpyの行列の積について
2021/02/10 12:30