Czy ktoś ma rekomendacje dotyczące użytecznej, szybkiej biblioteki macierzy C ++? Mam na myśli to, co użyteczne: Obiekty macierzy mają intuicyjny interfejs (np .: mogę używać wierszy i kolumn podczas indeksowania) Mogę zrobić wszystko z klasą macierzy, co mogę zrobić z LAPACK i BLAS Łatwy w nauce i obsłudze API …
Jestem głęboko przekonany o wartości stosowania testów weryfikujących pełny program (np. Testy konwergencji), w tym zautomatyzowanego zestawu testów regresji . Po przeczytaniu kilku książek o programowaniu, miałem dokuczliwe wrażenie, że „powinienem” napisać testy jednostkowe (tj. Testy, które weryfikują poprawność pojedynczej funkcji i nie sprowadzają się do uruchomienia całego kodu w …
Mam więc przyzwoitą uwagę, z jakimi problemami, z którymi pracuję, najlepiej rozwiązać szeregowo, i którymi można zarządzać równolegle. Ale w tej chwili nie mam pojęcia, co najlepiej poradzić sobie z obliczeniami opartymi na procesorze i co powinno zostać odciążone na GPU. Wiem, że jest to podstawowe pytanie, ale większość moich …
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 …
To pytanie jest rozszerzeniem dwóch dyskusji, które pojawiły się ostatnio w odpowiedziach na „ C ++ vs Fortran for HPC ”. I jest to trochę więcej wyzwanie niż pytanie ... Jednym z najczęściej słyszanych argumentów na korzyść Fortrana jest to, że kompilatory są po prostu lepsze. Ponieważ większość kompilatorów C …
Pracuję w nauce obliczeniowej, w wyniku czego spędzam nietrywialną ilość czasu próbując zwiększyć naukową przepustowość wielu kodów, a także zrozumieć ich efektywność. Załóżmy, że oceniłem wydajność w porównaniu do czytelności / możliwości ponownego użycia / konserwacji kompromisu oprogramowania, nad którym pracuję, i zdecydowałem, że nadszedł czas na wydajność. Załóżmy również, …
W moim programie doktoranckim z zakresu obliczeń pracujemy prawie wyłącznie w C ++ i Fortran. Wygląda na to, że niektórzy profesorowie wolą jeden od drugiego. Zastanawiam się, który z nich jest „lepszy” lub czy w pewnych okolicznościach jest lepszy od drugiego.
Fast Fourier Transform algorytm oblicza rozkładu Fouriera przy założeniu, że punkty wejściowe są równo rozłożone w dziedzinie czasu . Co jeśli nie są? Czy istnieje inny algorytm, którego mógłbym użyć, lub w jakiś sposób zmodyfikować FFT, aby uwzględnić efektywną zmienną częstotliwość próbkowania?tk=kTtk=kTt_k = kT Jeśli rozwiązanie zależy od sposobu dystrybucji …
Rozważam naukę nowego języka do wykorzystania w projektach modelowania numerycznego / symulacyjnego, jako (częściowego) zamiennika dla C ++ i Pythona, którego obecnie używam. Natknąłem się na Julię , co brzmi trochę perfekcyjnie. Jeśli zrobi wszystko, co twierdzi, mógłbym go użyć do zastąpienia zarówno C ++, jak i Pythona we wszystkich …
Wiele algorytmów numerycznych (integracja, różnicowanie, interpolacja, funkcje specjalne itp.) Jest dostępnych w bibliotekach obliczeń naukowych, takich jak GSL . Ale często widzę kod z „ręcznie walcowanymi” implementacjami tych funkcji. Czy w przypadku małych programów, które niekoniecznie są przeznaczone do publicznej dystrybucji, powszechną praktyką wśród naukowców zajmujących się obliczeniami jest samodzielne …
Każdy naukowiec musi się trochę dowiedzieć o statystykach: co oznacza korelacja, jaki jest przedział ufności i tak dalej. Podobnie każdy naukowiec powinien wiedzieć trochę o informatyce: pytanie brzmi: co? Czego można oczekiwać od każdego pracującego naukowca, który wie o tworzeniu i korzystaniu z oprogramowania? Nasza lista podstawowych umiejętności --- rzeczy, …
W aplikacjach pojawiają się rzadkie systemy liniowe. Do rozwiązania tych systemów jest wiele procedur do wyboru. Na najwyższym poziomie istnieje przełom między metodami bezpośrednimi (np. Rzadka eliminacja Gaussa lub rozkład Choleskiego, ze specjalnymi algorytmami porządkowania i metodami wielopłaszczyznowymi) i iteracyjnymi (np. GMRES, gradient (sprzężony)). Jak określić, czy zastosować metodę bezpośrednią, …
Istnieje oczywista różnica między różnicą skończoną a metodą objętości skończonej (przejście od definicji punktowej równań do średnich całkowitych nad komórkami). Ale uważam, że FEM i FVM są bardzo podobne; oba używają integralnej formy i średniej ponad komórkami. Co robi metoda MES, a nie FVM? Przeczytałem trochę tła na temat MES. …
Przyzwyczaiłem się myśleć o różnicach skończonych jako szczególnym przypadku elementów skończonych na bardzo ograniczonej siatce. Jakie są zatem warunki wyboru między metodą różnic skończonych (FDM) a metodą elementów skończonych (FEM) jako metodą numeryczną? Po stronie metody różnic skończonych (FDM) można liczyć, że są one koncepcyjnie prostsze i łatwiejsze do wdrożenia …
Wiele razy, kiedy odziedziczyłem lub napotkałem kod naukowy napisany przez innych ludzi (lub czasami nawet moją własną pracę), zauważyłem, że dokumentacja jest albo rzadka, albo nie istnieje. Jeśli mam szczęście, widzę pouczające komentarze. Jeśli mam szczęście, są nawet komentarze Doxygen i Doxyfile, więc mam interfejsy funkcyjne i trochę sformatowanego HTML …
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.