Могу ли я решить систему линейных уравнений в форме xA = b, используя Eigen, с A, разреженным?

0

Мне нужно преобразовать код MATLAB в C++, который включает линейные уравнения в форме xA = 0.

Я знаю, что Eigen может иметь линейные уравнения Ax = b. Я спрашиваю: есть ли способ решить систему линейных уравнений xA = b, используя Eigen для C++ (Visual Studio 2010), причем A является разреженной матрицей? Если нет, какую библиотеку я могу использовать?

Спасибо за любую помощь.

Теги:
eigen
eigen3

1 ответ

0
Лучший ответ

x * A = b эквивалентно A.transpose() * z = b.transpose(); x = z.transpose(), которая может быть решена для x.

Обратите внимание, что операции хранения дешевы по сравнению с решением линейной системы. А является редким, а разреженность остается неизменной для операции транспонирования. Часто транспозиция - это всего лишь флаг и изменение адресации элементов. С первого взгляда на документ это не относится к Eigen. Но, из того, что я сказал вам раньше, это не имеет большого значения.

  • 0
    Большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню