W tym przykładowym programie robię to samo (przynajmniej tak mi się wydaje) na dwa różne sposoby. Korzystam z tego na komputerze z systemem Linux i monitoruję użycie pamięci za pomocą top. Korzystając z gfortran, stwierdzam, że w pierwszy sposób (między „1” a „2”) używana pamięć wynosi 8,2 GB, podczas gdy …
Wniosek tutaj: O ile lepsze są naprawdę kompilatory Fortran? jest to, że gfortran i gcc są tak szybkie, jak prosty kod. Chciałem więc spróbować czegoś bardziej skomplikowanego. Wziąłem przykład strzelania do normy spektralnej. Najpierw wstępnie obliczam macierz 2D A (:, :), a następnie obliczam normę. (Myślę, że to rozwiązanie nie …
Studia przypadków w mojej rozprawie doktorskiej wymagają przedłużenia interwałów podprogramów Fortrana w CHEMKIN-II (przepraszam za link; to najlepsze, jakie mogłem znaleźć dla pakietu, który nie jest już dystrybuowany przez Sandia National Laboratory). CHEMKIN-II to pakiet chemiczny stosowany w chemii spalania; ponieważ jest to standardowy pakiet używany do spalania, nie mogę …
Właśnie wciągam się w fortran 95 dla niektórych symulacji mechaniki kwantowej. Szczerze mówiąc, zostałem zepsuty przez Octave, więc wziąłem potęgowanie macierzy za pewnik. Biorąc pod uwagę (małe, ) pochylenie -Hermycka macierz o rozmiarze n × n , jaki jest najbardziej efektywny sposób użycia LAPACK do rozwiązania tego problemu? Nie używam …
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 …
Jestem nowy w informatyce naukowej. Szukam implementacji Fortran (najlepiej f90) Octree. Mój problem wymaga Octree, który dzieli moją domenę, dopóki nie będzie więcej niż niektóre cząsteczki N (lub źródła, w których znam wartość gęstości, którą można podłączyć do metody równania całkowego w celu rozwiązania równania takiego jak równanie Laplace'a) w …
Niedawno zadałem pytanie w tym samym stylu dla matryc skośno-hermitowskich. Zainspirowany sukcesem tego pytania i po kilku godzinach uderzenia głową o ścianę patrzę na wykładniczą macierz prawdziwych matryc asymetrycznych. Droga do znalezienia wartości własnych i wektorów własnych wydaje się dość skomplikowana i obawiam się, że się zgubiłem. Tło: Jakiś czas …
Ostatnio napotkałem dziwny problem z FORTRAN95. Zainicjowałem zmienne X i Y w następujący sposób: X=1.0 Y=0.1 Później dodaję je razem i wydrukuję wynik: 1.10000000149012 Po zbadaniu zmiennych wydaje się, że 0,1 nie jest reprezentowane w podwójnej precyzji z pełną dokładnością. Czy jest jakiś sposób, aby tego uniknąć?
Zastanawiałem się, jaki jest najlepszy sposób na naukę programowania w Fortran? Szukałem książek, przykłady, które wydawały mi się w porządku, to „Wyjaśnienie Fortran 95/2003” i „Fortran dla naukowców i inżynierów” . Nie wiem, co o tym myślicie? Zastanawiam się też, jakiego kompilatora powinienem użyć? Pracuję na komputerze z systemem Windows …
Jak zilustrowano w odpowiedzi Jeda Browna na Koszty wyszukiwania w porównaniu z obliczeniami , użycie wektoryzowanych vs niewektoryzowanych operacji zmiennoprzecinkowych skutkuje znacznie szybszym kodem. Wiele współczesnych kompilatorów twierdzi, że może wykonywać automatyczną wektoryzację. Jak mogę z powodzeniem wektoryzować, które części mojego kodu?
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.