Вопросы с тегом «linear-algebra»

Вопросы об алгоритмических / вычислительных аспектах линейной алгебры, включая решение линейных систем, задачи наименьших квадратов, собственные проблемы и другие подобные вопросы.

158
Рекомендации для удобной, быстрой библиотеки C ++ матрицы?

У кого-нибудь есть рекомендации по использованию удобной и быстрой матрицы библиотеки C ++? Что я подразумеваю под юзабилити - это следующее: Матричные объекты имеют интуитивно понятный интерфейс (например, я могу использовать строки и столбцы при индексации) Я могу сделать что-нибудь с классом...

77
Есть ли качественный решатель нелинейного программирования для Python?

У меня есть несколько сложных невыпуклых задач глобальной оптимизации. В настоящее время я использую MATLAB Optimization Toolbox (в частности, fmincon()с алгоритмом = 'sqp'), что довольно эффективно . Тем не менее, большая часть моего кода написана на Python, и я бы тоже хотел провести оптимизацию...

49
Каким руководствам следует руководствоваться при выборе разреженного линейного системного решателя?

Разреженные линейные системы появляются с возрастающей частотой в приложениях. Для решения этих систем нужно выбирать из множества процедур. На самом высоком уровне существует водораздел между прямым (например, разреженным методом исключения Гаусса или разложением Холецкого, со специальными...

36
Как оператор обратной косой черты в MATLAB решает

Я сравнивал несколько своих кодов с «стандартными» кодами MATLAB. Я удивлен результатами. Я запустил пример кода (разреженная матрица) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc;...

31
Различия в производительности между ATLAS и MKL?

ATLAS - это бесплатная замена BLAS / LAPACK, которая настраивается на машину при компиляции. MKL - коммерческая библиотека, поставляемая Intel. Сравнимы ли эти две библиотеки с точки зрения производительности или MKL имеет преимущество в некоторых задачах? Если да, то...

31
Как выбрать метод решения линейных уравнений

Насколько мне известно, есть 4 способа решения системы линейных уравнений (поправьте меня, если их больше): Если системная матрица является квадратной матрицей полного ранга, вы можете использовать правило Крамера; Вычислить обратную или псевдообратную матрицу системы; Используйте методы матричного...

29
Крошечный детерминант подразумевает плохое кондиционирование матрицы?

Если у меня есть квадратная обратимая матрица, и я беру ее определитель, и я нахожу, что , означает ли это, что матрица плохо обусловлена?det(A)≈0det(A)≈0\det(A) \approx 0 Верно ли и обратное? Имеет ли плохо обусловленная матрица почти нулевой определитель? Вот что я пробовал в Октаве: a =...

29
Хорошие примеры «два легко, три сложно» в вычислительных науках

Недавно я столкнулся с формулировкой мета-феномена : « два - это легко, три - трудно » (так сформулировал Федерико Полони), которую можно описать следующим образом: Когда определенная проблема сформулирована для двух сущностей, ее относительно легко решить; однако алгоритм для формулировки трех...

27
Имея дело с инверсией положительно определенной симметричной (ковариационной) матрицы?

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

27
Перестановка матрицы на месте в NumPy

Я хочу изменить плотную квадратную матрицу перехода на месте, изменив порядок нескольких ее строк и столбцов, используя библиотеку NumPy Python. Математически это соответствует предварительному умножению матрицы на матрицу перестановок P и последующему умножению ее на P ^ -1 = P ^ T, но это не...

27
Какой самый быстрый способ вычислить наибольшее собственное значение общей матрицы?

РЕДАКТИРОВАТЬ: я проверяю, если какие-либо собственные значения имеют величину один или больше. Мне нужно найти наибольшее абсолютное собственное значение большой разреженной несимметричной матрицы. Я использовал eigen()функцию R , которая использует алгоритм QR из EISPACK или LAPACK, чтобы найти...

26
Почему мой итерационный линейный решатель не сходится?

Что может пойти не так, если использовать методы Крылова из KSP ( пакет линейного решателя PETSc ) с предварительными именами для решения разреженной линейной системы, например, полученной путем дискретизации и линеаризации уравнений в частных производных? Какие шаги я могу предпринять, чтобы...

26
Какова взаимосвязь BLAS, LAPACK и других библиотек линейной алгебры?

Я искал библиотеки линейной алгебры C ++ для проекта, над которым я работал. То, что я до сих пор не понимаю, это соединение BLAS и LAPACK с другими библиотеками линейной алгебры. Просматривая эту статью о библиотеках линейной алгебры, я обнаружил, что интересно: некоторые библиотеки независимы от...

26
Робастный алгоритм для

Что такое простой алгоритм для вычисления SVD матрицы?2 × 22×22 \times 2 В идеале мне нужен численно устойчивый алгоритм, но я бы хотел увидеть как простые, так и не очень простые реализации. Код C принят. Любые ссылки на документы или...

24
В чем заключается принцип сходимости подпространственных методов Крылова для решения линейных систем уравнений?

Насколько я понимаю, существует две основные категории итерационных методов решения линейных систем уравнений: Стационарные методы (Якоби, Гаусс-Зайдель, СОР, Мультисетка) Методы подпространства Крылова (Conjugate Gradient, GMRES и др.) Я понимаю, что большинство стационарных методов работают путем...

22
Когда ортогональные преобразования превосходят исключение Гаусса?

Как мы знаем, методы ортогональных преобразований (повороты Гивенса и отражения Хаусхолдера) для систем линейных уравнений более дороги, чем устранение по Гауссу, но теоретически обладают более хорошими свойствами устойчивости в том смысле, что они не изменяют число условий системы. Хотя я знаю...

22
Решение

У меня есть матрицы A и G . A является разреженным и имеет размер n × n с очень большим n (может быть порядка нескольких миллионов). G является матрицей высотой n × m с довольно небольшим m ( 1 < m < 1000 ), и в каждом столбце может быть только один 1 запись с остальным 0 «с, таким образом,...

21
Могут ли быть решены диагональные плюс фиксированные симметричные линейные системы за квадратичное время после предварительного вычисления?

Существует ли метод O(n3+n2k)O(n3+n2k)O(n^3+n^2 k) для решения kkk линейных систем вида (Di+A)xi=bi(Di+A)xi=bi(D_i + A) x_i = b_i где AAA - фиксированная SPD-матрица, а DiDiD_i - положительные диагональные матрицы? Например, если каждый DiDiD_i скалярен, достаточно вычислить СВД из AAA . Однако,...

21
Библиотеки для решения разреженных линейных систем

Существует целый ряд различных библиотек, которые решают разреженную линейную систему уравнений, однако мне трудно понять, в чем различия. Насколько я могу судить, есть три основных пакета: Trilinos , PETSc и Intel MKL . Все они могут выполнять разреженные матричные решения, все они быстры...

19
Диагональное обновление симметричной положительно определенной матрицы

- это n × n- симметричная разреженная матрица с положительным определением (SPD). G - разреженная диагональная матрица. n большое ( n > 10000) и число ненулевых в G обычно составляет 100 ~ 1000.AAAn × nn×nn \times nграммGGNnnNnnграммGG Были разложено в Холецкой формевиде L D L T .AAAL D...