質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1137閲覧

numpyで行列のmultiplicationをしたい

H.JUN

総合スコア6

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/23 09:43

numpyで行列のmultiplicationをしたいのですがエラーが出ます。どういうことですか?

import numpy as np matrix_A = np.arange(1,9).reshape(2,4) matrix_B = np.arange(2,10).reshape(2,4) matrix_multiplication = np.dot(matrix_A, matrix_B)

ValueError Traceback (most recent call last)
<ipython-input-18-d23d99a3861f> in <module>
----> 2 matrix_multiplication = np.dot(matrix_A, matrix_B)

<array_function internals> in dot(*args, **kwargs)

ValueError: shapes (2,4) and (2,4) not aligned: 4 (dim 1) != 2 (dim 0)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2020/06/23 09:56

multiplication は行列積とアダマール積 (要素ごとの積) どちらのことを言っていますか?
H.JUN

2020/06/23 09:59

行列積です あと、2、4に変えてますが片方は4、2でした
tiitoi

2020/06/23 10:05

> 片方は4、2でした なんのことですか? 質問のコードだと、どちらも (2, 4) の行列なので、(2, 4) の行列と (2, 4) の行列の行列積は計算できませんというエラーです。
H.JUN

2020/06/23 11:03

そうですね、両方とも2,4と書いてしまっていました。翻訳ありがとうございました。
meg_

2020/06/23 11:45

問題は解決したってことでしょうか?
guest

回答1

0

Numpyには2種類の乗算があります。
1つ目は、要素ごとの乗算です。

python

1>>> matrix_A*matrix_B 2array([[ 2, 6, 12, 20], 3 [30, 42, 56, 72]]) 4>>> 3*matrix_A 5array([[ 3, 6, 9, 12], 6 [15, 18, 21, 24]])

もう1つは行列の乗算です。 行列の乗算では、最初の行列Aの列数は2番目の行列Bの行数と等しくなければなりません。 たとえば、A [2x3]、B [3x2]。 この方法で変更できます。

python

1>>> matrix_A = np.arange(1,9).reshape(2,4) 2>>> matrix_B = np.arange(2,10).reshape(4,2) 3>>> matrix_multiplication = np.dot(matrix_A, matrix_B) 4>>> matrix_multiplication 5array([[ 60, 70], 6 [140, 166]])

投稿2020/06/27 03:23

JackHuang

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問