Computational Science

Pytania i odpowiedzi dla naukowców używających komputerów do rozwiązywania problemów naukowych

3
Priorytety w uczeniu się metod obliczeniowych, kiedy powinienem napisać własny kod, a nie używać bibliotek jako początkujących doktorantów?
Zaczynam studia podyplomowe z inżynierii i będę pracował nad projektami z zakresu obliczeń naukowych. Zauważyłem, że dyskutowano o zaletach i wadach implementacji własnych algorytmów tutaj . Czy analiza kosztów i korzyści związanych z wdrażaniem własnych algorytmów w porównaniu do korzystania z bibliotek różni się w przypadku początkujących studentów?

3
Ciąg do programowania GPU
Jestem bardzo nowy w programowaniu GPGPU, więc proszę wybacz mi, jeśli pytanie nie jest szczególnie odpowiednie. Z tego, co rozumiem, programowanie na GPU to bardzo skomplikowana praca inżynierska w porównaniu do zwykłego programowania procesora. Należy bardzo uważać na problemy z rozbieżnościami, kafelkami, przypiętą pamięcią i nakładaniem się komunikacji host-urządzenie / …

3
Jawna metoda Eulera jest zbyt wolna, aby rozwiązać problem dyfuzji reakcji
Rozwiązuję układ dyfuzyjny reakcji Turinga za pomocą następującego kodu C ++. Jest zbyt wolny: dla tekstury 128 x 128 pikseli dopuszczalna liczba iteracji wynosi 200 - co powoduje 2,5 sekundy opóźnienia. Potrzebuję 400 iteracji, aby uzyskać interesujący obraz - ale 5 sekund oczekiwania to za dużo. Ponadto rozmiar tekstury powinien …
10 pde  stiffness 

2
Równania Eulera w 2d
Jako zadanie na studiach wykonałem symulację 1d. Stwierdzenie problemu polegało na rozwiązaniu problemu rurki uderzeniowej 1d dotyczącej sprężalnego gazu idealnego jako płynu roboczego. W przypadku tego problemu rozwiązałem układ równań Eulersa za pomocą solwera Riemanna Roe. Chcę wiedzieć, aby rozwiązać równania Eulera w 2 lub 3 wymiarach, od czego zacząć? …


3
Jak zbudować rekurencyjną funkcję splajnu w C ++
Obecnie pracuję nad metodą rozwiązywania równań różniczkowych zwaną kolokacją podstawa-splajn. Mam problem z budowaniem metody budowania splajnu dowolnego porządku z relacją przy czym warunek początkowy i mam problem nawet z początkiem tego problemu, ponieważ jest on rekurencyjny, może zaczynać się od „górnej” lub „dolnej”, a ja wpadam na ogólny typ …
10 c++  b-spline 

2
Diagonalizacja gęstych, uwarunkowanych matryc
Próbuję diagonalizować niektóre gęste, źle uwarunkowane matryce. W precyzji maszynowej wyniki są niedokładne (zwracając ujemne wartości własne, wektory własne nie mają oczekiwanych symetrii). Przełączyłem się na funkcję Eigensystem [] Mathematiki, aby skorzystać z dowolnej precyzji, ale obliczenia są bardzo wolne. Jestem otwarty na dowolną liczbę rozwiązań. Czy istnieją pakiety / …


3
Mnożenie macierzy MATLAB (najlepsze podejście obliczeniowe)
Muszę dokonać transformacji współrzędnych między dwoma układami odniesienia (osiami). W tym celu należy pomnożyć trzy macierze ( ) ze względu na zastosowanie niektórych osi pośrednich. Pomyślałem o dwóch podejściach do rozwiązania tego:3×33×33\times3 Metoda nr 1 : Wykonanie mnożenia bezpośrednio, to znaczy vf=R1 R2 R3 vivf=R1 R2 R3 viv_f = R_1\ …

2
Dopasowywanie podobnych elementów z zestawu
Próbuję dopasować przedmioty. Biorąc pod uwagę zestaw przedmiotów, mogę uszeregować w skali od 0 do 100, jak są do siebie podobne. Na przykład, jeśli pozycja to mleko, a pozycja jest również mlekiem, wówczas podobieństwo między i wynosi 100%. Jeśli to soda, wówczas podobieństwo między i może wynosić, być może, 80% …


2
Znaczenie metod (meta) heurystycznych
Do optymalizacji, z Wikipedii : W informatyce metaheurystyka wyznacza metodę obliczeniową, która optymalizuje problem poprzez iteracyjną próbę ulepszenia rozwiązania kandydującego w odniesieniu do danej miary jakości. Metaheurystyki przyjmują niewiele założeń lub nie przewidują optymalizacji problemu i mogą wyszukiwać bardzo duże przestrzenie kandydatów na rozwiązania. Jednak metaheurystyki nie gwarantują znalezienia optymalnego …



1
Jak mogę określić początkowe wartości generatora liczb pseudolosowych, jeśli podana jest sekwencja?
Załóżmy, że wiedziałem, że losowa sekwencja liczb została wygenerowana przez liniowy generator kongruencjalny. To jest, xn + 1= ( a Xn+ c ) mod mxn+1=(aXn+c)modmx_{n+1}=(aX_n+c) \bmod m Jeśli jestem biorąc pod uwagę cały okres (lub przynajmniej znaczna przyległe podciąg z nim), w jaki sposób można zrekonstruować parametrów i x_0 że …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.