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

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

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

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

Q&A

解決済

1回答

262閲覧

numpy.dotに関して

soma62jp

総合スコア141

Python

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

0グッド

0クリップ

投稿2018/09/28 05:00

numpy.dotの仕様がいまいちよくわかりません。
ベクトルの内積なのか、何を計算しているのか。

Python

1import numpy as np 2 3X=[[ 1, 0, 0] 4,[ 1, 1, 100] 5,[ 1, 2, 200] 6,[ 1, 3, 300]] 7 8y1=[1,0,0] 9y2=[1,2,3] 10 11print(np.dot(X, y1)) 12print(np.dot(X, y2)) 13

出力
[1 1 1 1]
[ 1 303 605 907]

これは、何を計算しているのでしょうか?

ご存知の方はご教示いただければ幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

質問文のケースは、Xの各行ベクトルとyの内積の配列になっているとみなせばよいのですが

詳細な動作については

If both a and b are 1-D arrays, it is inner product of vectors (without complex conjugation).

If both a and b are 2-D arrays, it is matrix multiplication, but using matmul or a @ b is preferred.
If either a or b is 0-D (scalar), it is equivalent to multiply and using numpy.multiply(a, b) or a * b is preferred.
If a is an N-D array and b is a 1-D array, it is a sum product over the last axis of a and b.
If a is an N-D array and b is an M-D array (where M>=2), it is a sum product over the last axis of a and the second-to-last axis of b:

numpy.dot — NumPy v1.15 Manual

ただの掛け算だったり、内積だったり、行列積だったり、もっと複雑だったり……

投稿2018/09/28 05:19

hayataka2049

総合スコア30933

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

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

soma62jp

2018/09/28 07:40

参照先を提示いただきましてありがとうございます。 今回のケースは、Xの内積の配列の動作をするということで理解しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問