Я пишу систему частиц на основе ограничений на основе бумаги this. Якобиан ограничений C масштабируется с числом частиц в системе и количеством ограничений. Поскольку каждое ограничение обычно имеет только несколько частиц, которые зависят от него, матрица будет чрезвычайно разреженной. Я думал, что было бы полезно использовать разреженную матрицу в Эйгене для решения системы. В соответствии с Eigen reference material существует несколько различных методов решения этих разреженных матричных уравнений. Мои вопросы:Решение разреженной матрицы с использованием собственного
- Возможно, размер этих матриц потребует использования разреженной матрицы? Мне нужно сохранить якобиан и его производную по времени. Каждая из них является матрицей Mx3N, где M - число ограничений, а N - число частиц. Пользователь моей системы частиц может предположительно добавить столько частиц, сколько они хотят по разумным причинам.
- Является ли аргумент для разреженных матричных представлений более плотной матрицей в большей степени об эффективности или потреблении памяти. Может ли разрешенная матрица быть решена быстрее, чем плотная матрица, и от чего это зависит?
- Я не очень много знаю об этих реализациях решателя. Я не очень изучал эти алгоритмы, особенно в контексте разреженных матричных уравнений. Какова производительность этих алгоритмов, и какой из них я должен выбрать? Я помню, как несколько лет назад узнал о некоторых из них в классе линейных алгебр, и я считаю, что многие из них были O (n^3), что, похоже, не очень хорошо подходит для такой системы, как описанная в этой статье.