Na moich kursach analizy numerycznej nauczyłem się analizować wydajność algorytmów, licząc liczbę wymaganych operacji zmiennoprzecinkowych (klap) w stosunku do wielkości problemu. Na przykład w tekście Trefethen & Bau na temat numerycznej algebry liniowej są nawet trójwymiarowe zdjęcia liczby flopów. Teraz modne jest stwierdzenie, że „flopy są bezpłatne”, ponieważ opóźnienie pamięci …
Przepraszam, jeśli jest to niejasne pytanie, ale oto: W ciągu ostatnich kilku lat programowanie funkcjonalne cieszyło się dużym zainteresowaniem społeczności inżynierów oprogramowania. Wielu zaczęło używać języków takich jak Scala i Haskell i odniosło sukces w porównaniu z innymi językami programowania i paradygmatami. Moje pytanie brzmi: jako eksperci w dziedzinie obliczeń …
Fortran zajmuje szczególne miejsce w programowaniu numerycznym. Z pewnością możesz tworzyć dobre i szybkie oprogramowanie w innych językach, ale Fortran nadal działa bardzo dobrze pomimo swojego wieku. Co więcej, łatwiej jest tworzyć szybkie programy w Fortran. Robiłem szybkie programy w C ++, ale musisz bardziej uważać na takie rzeczy, jak …
Oceniając jakość oprogramowania, którego zamierzasz użyć (niezależnie od tego, czy jest to coś, co napisałeś, czy puszki w puszce) w pracy obliczeniowej, często dobrym pomysłem jest sprawdzenie, jak dobrze działa na standardowych zestawach danych lub problemach. Gdzie można uzyskać te testy do weryfikacji procedur obliczeniowych? (Poproszę jedną stronę internetową / …
W mojej dziedzinie badań specyfikacja błędów eksperymentalnych jest powszechnie akceptowana, a publikacje, które ich nie dostarczają, są bardzo krytykowane. Jednocześnie często stwierdzam, że wyniki obliczeń numerycznych są podawane bez uwzględnienia błędów numerycznych, mimo że (a może dlatego, że) często działają wątpliwe metody numeryczne. Mówię o błędach wynikających z dyskretyzacji i …
Prace naukowe w informatyce naukowej (i obecnie wiele innych dziedzin) zazwyczaj zawierają pewną ilość kodu lub nawet całe pakiety oprogramowania, które zostały napisane specjalnie dla tego artykułu lub zostały użyte do uzyskania wyników w pracy. Jaki jest najlepszy sposób, aby pomóc czytelnikom tego dokumentu uzyskać dostęp do kodu? Moje obecne …
Które oprogramowanie zapewnia dobry przepływ pracy - od zwykłego wydruku kilku punktów danych po tworzenie grafiki na poziomie publikacji ze szczegółowymi stylami, składem matematycznym i „profesjonalną jakością”? Jest to trochę związane z pytaniem Davida ( jakie atrybuty czynią figurę profesjonalną jakością? ), Ale nie skupia się na atrybutach, ale na …
Obecnie szukam równoległych metod integracji ODE. Istnieje wiele nowej i starej literatury opisującej szeroki wachlarz podejść, ale nie znalazłem żadnych ostatnich badań ani artykułów przeglądowych opisujących ogólnie ten temat. Jest książka Burrage [1], ale ma ona prawie 20 lat i dlatego nie obejmuje wielu bardziej nowoczesnych pomysłów, takich jak algorytm …
Ostatnio spotkałem się z przypadkiem, w którym potrzebowałem operacji dzielenia liczb całkowitych na chipie, który jej nie miał (ARM Cortex-A8). Próbując zbadać, dlaczego tak musi być, odkryłem, że ogólny podział zajmuje znacznie więcej cykli niż dodawanie, odejmowanie lub mnożenie na prawie dowolnej architekturze liczb całkowitych (lub punktach stałych). Dlaczego tak …
Czy dobrym pomysłem jest użycie vector<vector<double>>(przy użyciu std) do utworzenia klasy macierzy dla wysokowydajnego naukowego kodu komputerowego? Jeśli odpowiedź brzmi „nie”. Czemu? Dzięki
Porównywałem kilka moich kodów z „zapasowymi” kodami MATLAB. Jestem zaskoczony wynikami. Uruchomiłem przykładowy kod (Sparse Matrix) 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; disp('Inv(A)*B'); tic;inv(a)*b;toc; Wyniki: For a\b Elapsed time is 0.052838 seconds. For LU Elapsed time is …
Jestem na międzynarodowej konferencji (ICIAM2019) na temat metod numerycznych i jestem zaskoczony przewagą aplikacji bezpośrednio związanych z badaniami zbrojeń. przykłady: Jeden ze zdobywców nagrody wygłasza mowę na temat matematycznego problemu rekonstrukcji radaru / wykrywania ruchomych obiektów, w swoim wystąpieniu opisuje sytuację „platformy” radaru na wysokości 8 km za pomocą aktywnego …
Z ankiety przeprowadzonej wśród top500 wynika, że przemysł zmierza w kierunku wykładniczego wzrostu liczby rdzeni przetwarzających . Największe superkomputery wykorzystują MPI do komunikacji między węzłami, chociaż nie wydaje się, aby istniał wyraźny trend równoległości w węzłach, przy najprostszym (ale niekoniecznie najbardziej wydajnym) podejściu do mapowania pojedynczego procesu MPI na każdym …
Wiemy, że jest symetryczny i pozytywnie określony. Wiemy, że jest ortogonalny:B.ZAA\mathbf AbB\mathbf B Pytanie: czy symetryczny i pozytywnie określony? Odpowiedź: TakB ⋅ A ⋅ B⊤B⋅A⋅B⊤\mathbf B \cdot\mathbf A \cdot\mathbf B^\top Pytanie: Czy komputer mógł nam to powiedzieć? Odpowiedź: Prawdopodobnie. Czy istnieją jakieś symboliczne systemy algebry (takie jak Mathematica), które obsługują …
Oprogramowanie jest podstawową częścią nauki obliczeniowej i jest coraz częściej uznawane za istotną część dokumentacji naukowej. Biorąc pod uwagę wartość wykorzystania istniejącego i dobrze przetestowanego kodu, warto zakomunikować istnienie użytecznych kodów tak szeroko, jak to możliwe, i pochwalić ich twórców. W środowisku akademickim oznacza to publikowanie niektórych artykułów, które koncentrują …
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.