Я знаю, что Eigen фактически создает окончательную матрицу (слева в присваивании) после того, как все матричное уравнение (справа) было сведено в одну матричную операцию. Я также знаю, что есть флаги компиляции, которые позволяют использовать Eigen с оптимизированными инструкциями (которые часто зависят от поставщика процессора и архитектуры). Я хотел бы знать, может ли Eigen
- Определить, когда 0 (ноль) является жестко запрограммированным элементом в матрице
- Используйте эти знания для оптимизации работы матрицы, чтобы что он присваивает этот элемент непосредственно 0 в окончательном присвоении матрицы
- Выполните эту оптимизацию с помощью нескольких операций в матричном уравнении (таких как множественные сложения, умножения и скобки)
В В мире грез компьютер распознает, когда эти дополнительные операции с FPU не нужны.
Может ли Eigen выполнить эту оптимизацию? Насколько сложно было бы программировать эту оптимизацию, если она в настоящее время не реализована?