Optimistic76 Ответов: 2

Шаблоны выражений и матричное умножение


Привет,

Я пытаюсь понять, как математические библиотеки, использующие методы шаблонов выражений ( например, Eigen для exmaple ) , обрабатывают умножение матриц.

Что я уже пробовал:

Во многих примерах, которые я обнаружил, всегда реализована только поэлементная операция:

A = B*C + D

компилируется как один цикл

для ( i = 0 ; i < size; i++ )
{
А[я] = б[я]*C[я] + Д[Я];
}

но как управлять матричным умножением ( для этого нужны вложенные циклы )?

Спасибо

CPallini

Это зависит от A,B,C тип Если операторы '*' и '+' перегружены для такого типа, то вы можете написать так.

Stefan_Lang

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

Optimistic76

Вы были правы ... углубившись в документацию eigen, я нашел ответ на свой вопрос. Это страница, которую я никогда не замечал. Он находится в разделе "понимание собственного"

2 Ответов

Рейтинг:
0

Optimistic76

Я наконец нашел ссылку, которую никогда не замечал, что ответ на мой вопрос


Эйген: отложенные вычисления и сглаживания[^]