Эйген против QGenericMatrix - PullRequest
       47

Эйген против QGenericMatrix

0 голосов
/ 08 октября 2019

Я занимаюсь разработкой приложения для Qt C ++, и мне нужно выполнить некоторые операции линейной алгебры и сохранить 2D и 3D матричные данные . Возможно, понадобится также N-мерный случай.

Я видел, что Qt имеет QGenericMatrix класс (ссылка) .

ИтакЕсть ли какие-либо преимущества , чтобы включить Eigen (ссылка) в мой проект и использовать его вместо использования QGenericMatrix?

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Очень сложно точно ответить на ваш вопрос без дополнительной информации. На вашем месте я бы принял решение, основываясь на требованиях проекта.

Просто примените правило KISS, т. Е. Сохраняйте это простым, глупым .

Если вашему проекту нужны сложные численные методы и линейная алгебра, Eigen будет лучшим выбором. В противном случае вы можете просто использовать QGenericMatrix или создать его подкласс в соответствии с вашими потребностями.

Возможно, важно отметить, что Eigen не имеет никаких зависимостей, кроме стандартной библиотеки C ++, и он кроссплатформенный. Поэтому его использование, вероятно, не вызовет проблем, если вы ориентируетесь на несколько платформ.

1 голос
/ 08 октября 2019

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

И неясно, что вы подразумеваете под трехмерной матрицей. Вы имеете в виду многомерный тензор? Насколько мне известно, ни один из этих двух вариантов не может справиться с этим.

...