Учитывая матрицу A
и вектор d
, который представляет диагональ диагональной матрицы D, что было бы лучшим (то есть самым простым без ущерба для производительности) Собственным выражением для D *A
в терминах только d
и A
?
Построение D
(в виде плотной матрицы) и выполнение D*A
кажется неэффективным, поскольку это потребует ненужных умножений на ноль. Строки A
просто нужно масштабировать с помощью соответствующих элементов d
.
Должен ли я преобразовывать в массив и масштабировать строки, или Eigen предусматривает построение и умножение диагональных матриц что позволяет избежать ненужных накладных расходов?