PETSc to pakiet struktur danych i procedur typu open source do skalowalnego (równoległego) rozwiązania aplikacji naukowych modelowanych za pomocą równań różniczkowych cząstkowych.
Mam kilka trudnych, niewypukłych problemów globalnej optymalizacji do rozwiązania. Obecnie używam MATLAB's Optimization Toolbox (konkretnie fmincon()z algorytmem = 'sqp'), co jest dość skuteczne . Jednak większość mojego kodu znajduje się w języku Python i chciałbym również przeprowadzić optymalizację w języku Python. Czy istnieje solver NLP z powiązaniami Pythona, z którym …
Co może pójść nie tak, gdy zastosuje się wstępne metody Kryłowa z KSP ( pakiet solvera liniowego PETSc ) do rozwiązania rzadkiego układu liniowego, takiego jak te uzyskane przez dyskretyzację i linearyzację równań różniczkowych cząstkowych? Jakie kroki mogę podjąć, aby ustalić, co jest nie tak z moim problemem? Jakie zmiany …
O ile mogę stwierdzić, dwie duże ogólne ramy oprogramowania do obliczeń informatycznych Departamentu Energii w USA to PETSc i Trilinos . Na pierwszy rzut oka wydają się podobne, poza różnicami językowymi (C kontra C ++). Jakie są główne różnice między tymi dwoma ramami i jakie czynniki powinny wpłynąć na wybór …
Używam nieliniowego pakietu solvera PETSc SNES do rozwiązania układu równań nieliniowych uzyskanych przez dyskretyzację równania różniczkowego cząstkowego. Jak mogę ustalić, dlaczego solver nie jest zbieżny i co mogę zrobić, aby pomyślnie rozwiązać moje równania?
Chciałbym wiedzieć, czy istnieje szybki sposób na obliczenie odległości euklidesowej dwóch wektorów w oktawie. Wydaje się, że nie ma do tego żadnej specjalnej funkcji, więc czy powinienem po prostu użyć formuły z sqrt?
Planuję użyć multigrid do obliczenia wartości własnych i wektorów, i zauważyłem, że PETSc ma wsparcie wysokiego poziomu dla multigrid. Dokumentacja PETSc mówi, że ta część PETSc nie powinna być używana, ponieważ wkrótce zostanie wymieniona. Które inne biblioteki mają obsługę wysokiego poziomu dla wielosiatek i z grubsza, kiedy PETSc wyda nową …
Gdziekolwiek widziałem, tutorial / dokumenty PETSc itp. Mówią, że jest to przydatne w algebrze liniowej i zwykle określa, że korzyści będą miały systemy rzadkie. Co z gęstymi matrycami? Jestem zaniepokojony rozwiązywania dla gęstej A .A x = bAx=bAx=bZAZAA W Fortranie napisałem własny kod dla CG i QMR. Podstawowa konstrukcja jest …
Bawiłem się PETSc i zauważyłem, że kiedy uruchamiam mój program z więcej niż jednym procesem przez MPI , wydaje się, że działa jeszcze wolniej ! Jak mogę sprawdzić, co się dzieje?
Zwykle piszę kod seryjny, a kiedy to robię, piszę testy jednostkowe za pomocą szkieletu testowego w stylu xUnit (MATLAB xUnit, PyUnit / nose lub szkielet testowy Google C ++). Na podstawie pobieżnej wyszukiwarki Google nie widziałem wiele na temat tego, jak praktykujący testują kod jednostkowy, który używa MPI. Czy są …
Pytanie: Jakie metody są dostępne w celu dokładnego i wydajnego obliczenia struktury rzadkości matrycy elementów skończonych? Informacje: Pracuję nad solwerem Poissona Równania Ciśnienia, stosując metodę Galerkina z kwadratową podstawą Lagrange'a, napisaną w C, i używam PETSc do rzadkiego przechowywania macierzy i procedur KSP. Aby efektywnie korzystać z PETSc, muszę wstępnie …
Mój system to symetryczny problem FE z mnożnikami lagrange (np. Nieściśliwy przepływ Stokesa): (ABBTC)(ABTBC)\begin{pmatrix}A & B^T \\ B & C\end{pmatrix} gdzie jest typowym przypadkiem (upewniłem się nawet, że równania są ponumerowane, aby mnożniki Lagrange'a pojawiały się na końcu). System jest dość duży (+ 100 tys. Linii).C=0C=0C = 0 Po przeczytaniu …
Muszę rozwiązać ten sam rzadki układ liniowy (300 x 300 do 1000 x 1000) z wieloma prawymi bokami (300 do 1000). Oprócz tego pierwszego problemu chciałbym również rozwiązać różne systemy, ale z tymi samymi niezerowymi elementami (tylko różne wartości), to znaczy wiele rzadkich systemów o stałym wzorcu rzadkości. Moje macierze …
O ile wolniej jest Petsc4py vs C / C ++ / Fortran? Zdaję sobie sprawę, że będzie to w znacznym stopniu zależeć od wykonywanego kodu, ale co z czymś prostym, takim jak produkt macierz-wektor?
Oto typowe użycie wskaźników funkcji w C. Chciałbym zrobić coś podobnego w Fortranie. Mam kilka pomysłów, ale chciałbym wiedzieć, czy istnieje jakiś kanoniczny sposób. Wskaźniki funkcji i konteksty przekazane przez użytkownika są przechowywane, a następnie wywoływane później. typedef PetscErrorCode (*TSIFunction)(TS,PetscReal,Vec,Vec,Vec,void*); PetscErrorCode TSSetIFunction(TS ts,Vec res,TSIFunction f,void *ctx); Funkcja użytkownika jest wywoływana …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.