Pracuję nad jakimś źle uwarunkowanym dużym rzadkim liniowym układem równań. Chcę użyć podwójnej podwójnej arytmetyki lub czterokrotnej podwójnej arytmetyki, aby je rozwiązać. Wiem, że istnieje pakiet o nazwie MPACK opracowany przez Nakata, Maho, który może wykonywać numeryczne obliczenia liniowe algebraiczne w oparciu o podwójną arytmetykę. Jest on jednak przeznaczony do gęstej matrycy, a nie do rzadkiej. Czy wiesz, czy istnieje pakiet podwójnej arytmetycznej macierzy rzadkich?
sparse-matrix
matrix
condition-number
Hanyu Ye
źródło
źródło
Odpowiedzi:
Począwszy od wersji 3.2 , PETSc obsługuje rzadkie obliczenia czteroprecyzyjne na gcc / gfortran 4.6 i nowszych.
Będziesz potrzebował poczwórnej precyzji BLAS i LAPACK, które PETSc może ci dostarczyć (wraz z obsługą quadów) za pomocą następującego (częściowego) polecenia konfiguracji:
Zobacz często zadawane pytania, aby uzyskać więcej informacji.
Zgadzam się również z nOOb , jeśli to w ogóle możliwe, spróbuj uregulować system przed przejściem na quad-precyzję.
źródło
Źle uwarunkowane systemy są lepiej rozwiązywane przez regularyzację niż przez zwiększenie precyzji liczbowej. Wyszukaj „regularyzację źle postawioną”, aby poznać szczegóły.
źródło
Mogę spróbować z biblioteką Trilinos. Posiadają szablony bibliotek macierzy rzadkich w Tpetrze (która ma zastąpić Epetrę, ich oryginalną bibliotekę macierzy rzadkich). Możesz szablonować podwójne, złożone, poczwórne itp., A obok PETSc mają prawdopodobnie największy wybór solverów (zarówno bezpośrednich, jak i iteracyjnych).
Edycja: po przeczytaniu komentarzy natychmiastowa przydatność Tpetry wydaje się nieco wątpliwa, a nie quad precyzja ...
źródło
__float128
że wspiera mnie Tpetra, a co dopiero czterokrotność. Tpetra nie jest samodzielny i nie zawiera wszystkich nagłówków, a nawet gdyby tak było, rzeczy takie jakstd::complex
praca tylko zfloat
idouble
.Przybornik do obliczeń wieloprecyzyjnych dla MATLAB ma obsługę rzadkich macierzy i jest specjalnie zoptymalizowany do obliczeń z poczwórną precyzją.
Oto szczegóły czasowe dla rzadkich solverów o poczwórnej precyzji: Direct Solvers for Sparse Matrices
(Jestem autorem zestawu narzędzi).
źródło