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 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 …
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 literaturze dotyczącej metod numerycznych wiele prac naukowych zawiera opis nowej odmiany algorytmu, a następnie kilka problemów testowych porównujących nową metodę z jedną lub dwiema istniejącymi metodami. Utrudnia to ustalenie Jak nowa metoda poradziłaby sobie z innymi interesującymi problemami Jak nowa metoda porównałaby się z innymi istniejącymi metodami Oczywiście oba …
Opracowywanie algorytmów naukowych jest wysoce iteracyjnym procesem, który często wymaga zmiany wielu parametrów, które będę chciał zmieniać albo w ramach mojego projektu eksperymentalnego, albo w ramach ulepszenia wydajności algorytmu. Jakie strategie mogę zastosować, aby ustrukturyzować te parametry, aby móc je łatwo zmieniać między iteracjami i aby móc łatwo dodawać nowe?
Jestem wielkim zwolennikiem rozwoju opartego na testach w informatyce naukowej. Jego użyteczność w praktyce jest po prostu oszałamiająca i naprawdę łagodzi klasyczne problemy, które znają twórcy kodu. Istnieją jednak nieodłączne trudności w testowaniu kodów naukowych, które nie występują w programowaniu ogólnym, więc teksty TDD nie są zbyt przydatne jako samouczki. …
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ą …
Ostatnio naciskałem na moją grupę, aby włączyła więcej testów podczas pisania swojego kodu. Było kilka poważnych błędów, których złapanie zajęło dużo więcej czasu, niż prawdopodobnie mówienie było konieczne, ponieważ nie mieliśmy dobrego reżimu testowania. Podejrzewam jednak, że posiadanie odpowiednich narzędzi do automatyzacji (lub usprawnienia) procesu z pewnością byłoby przydatne. Z …
Przekonałem się, że wiele moich programów do nauki obliczeniowej ma wymagania testowe, które nie są objęte standardowymi ramami testowymi: Testowanie czasu obliczeń Aby upewnić się, że algorytmy nie działają wolniej. Mógłbym zrobić coś takiego, assureSmallerEqual(RuntimeWrapper(algorithm),53)ale chciałbym, aby próg 53 sekund był stale redukowany podczas pracy nad algorytmem, tj. Coś w …
Kiedy mamy model numeryczny, który reprezentuje prawdziwy układ fizyczny i który wykazuje chaos (np. Modele dynamiki płynów, modele klimatu), skąd możemy wiedzieć, że model działa tak, jak powinien? Nie możemy bezpośrednio porównać dwóch zestawów danych wyjściowych modelu, ponieważ nawet niewielkie zmiany warunków początkowych radykalnie zmienią wyniki poszczególnych symulacji. Nie możemy …
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.