LINUX.ORG.RU

numpy.dot

 ,


0

1

При умножении

ta1 = np.array([0, 1, 2, 4, 5, 6]) ta2 = np.array([1, 1.5, 2, 1, 1, 2])

ttaa = ta1 * ta2

Получается массив [0. , 1.5, 4. , 4. , 5. , 12.]

А если вызвать np.dot(ta1, ta2)

То результат 26.5

Ну и 26,5 это и не классическое понимание произведения скаляров с тангенсом

Вообщем почему результаты отличаются от просто умножения * ?

Что именно делает .dot ?


почему результаты отличаются от просто умножения *

Потому что это разные операции, ваш К.О.

Что именно делает .dot

Скалярное произведение.

Получается массив [0. , 1.5, 4. , 4. , 5. , 12.]

А теперь сложи эти числа…

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)

Ну и 26,5 это и не классическое понимание произведения скаляров с тангенсом

Это скалярное произведение вещественных векторов. В данном случае оно определено так.

Можешь ввести другое определение скалярного произведения вещественных векторов, главное, чтобы базовые аксиомы скалярного произведения выполнялись.

grem ★★★★★
()
Ответ на: комментарий от peregrine

когда же вы читать научитесь

Да читал я это. И не надо мне пафосно на английском подсовывать )

Есть по русски о том, что это скалярное произведение векторов

И? ) Это мало что объяснило

А почему так a * b оно просто перемножает элементы ?

mirek
() автор топика
Последнее исправление: mirek (всего исправлений: 1)
Ответ на: комментарий от mirek

Во-первых, там есть формула. Во-вторых, без английского в индустрии делать нечего. У меня уж на что приятель с которым мы вместе учились английский плохо знал и не любил его, а как пришлось поработать первый год, так стал книжки на английском читать по разработке и своей работе, некоторые годные мне скидывает иногда, за что ему спасибо.

peregrine ★★★★★
()
Ответ на: комментарий от mirek

Кроме тангенса в прироле есть еще много разных функций.

Есть по русски о том, что это скалярное произведение векторов

Даже на эскимосском в каком нить гренландском пабе скалярное произведение остается скалярным произведением.

А почему так a * b оно просто перемножает элементы ?

Потому что numpy построен на основе идеологии SIMD, а скалярное произведение идет милым бонусом что б два раза не вставать.

AntonI ★★★★
()
Ответ на: комментарий от no-such-file

Непонятно что тебе непонятно. Есть умножение массивов, есть умножение векторов.

Теперь почти все понятно

Спасибо за разъяснения

mirek
() автор топика
Ответ на: комментарий от no-such-file

Где «там»? У тебя в голове?

Именно. В моей голове все путается когда речь идет о математике

mirek
() автор топика
Последнее исправление: mirek (всего исправлений: 1)
Ответ на: комментарий от peregrine

Во-вторых, без английского в индустрии делать нечего

На другом форуме мне 2 чела уже пишет, что они не должны уметь пользоваться linux. Но оба Великие программисты

Да и в русской версии есть пример: https://pyprog.pro/linear_algebra_functions/dot.html

mirek
() автор топика
Ответ на: комментарий от peregrine

у меня родной Так а зачем такое спрашивать ?

Можете попробовать на этом калькуляторе повторить операцию a * b https://ru.onlinemschool.com/math/assistance/matrix/multiply/

для одномерных массивов

Получится ?

А в Питоне получится )

mirek
() автор топика