Як хтось, хто кілька років працював з обома, я вважаю, що обидва пакети насправді не такі вже й різні. Щоправда, вони використовують різні мови, але вони використовують їх дуже схожими способами (обидва об'єктно орієнтовані, Trilinos мало використовує C ++, крім використання класів). Обидва підтримують практично все, що ви коли-небудь захочете зробити з лінійною алгеброю (через підпакети або речі, які вони завантажують на льоту, що з точки зору користувача не має ніякої різниці). Нарешті, обидва мають велику кількість більш незрозумілих і, мабуть, не дуже широко використовуваних підпакетів (наприклад, сітчастий інтерфейс PETSc 'сито', автоматична диференціація в Trilinos тощо).
Для мене привабливість Trilinos є двоякою: - кількість неясних підпакетів у Trilinos значно більша; якщо мені колись щось знадобиться в напрямку X, я знайду його в Trilinos, і це буде працювати з рештою мого коду. - Трилінос набагато консервативніший у своїй стратегії розвитку. PETSc весь час перейменовує речі та кожен випуск вимагає від користувачів наздоганяти перейменовані функції, різні бібліотеки тощо.