Шаблоны выражений и матричное умножение
Привет,
Я пытаюсь понять, как математические библиотеки, использующие методы шаблонов выражений ( например, Eigen для exmaple ) , обрабатывают умножение матриц.
Что я уже пробовал:
Во многих примерах, которые я обнаружил, всегда реализована только поэлементная операция:
A = B*C + D
компилируется как один цикл
для ( i = 0 ; i < size; i++ )
{
А[я] = б[я]*C[я] + Д[Я];
}
но как управлять матричным умножением ( для этого нужны вложенные циклы )?
Спасибо
CPallini
Это зависит от A,B,C тип Если операторы '*' и '+' перегружены для такого типа, то вы можете написать так.
Stefan_Lang
Eigen действительно реализует матричное умножение, поэтому информация, которую вы просите, находится прямо там. У вас есть проблемы с пониманием или использованием его? Или ты хочешь узнать что-то еще?
Optimistic76
Вы были правы ... углубившись в документацию eigen, я нашел ответ на свой вопрос. Это страница, которую я никогда не замечал. Он находится в разделе "понимание собственного"