Обчислювальна наука

Питання та відповіді для вчених, які використовують комп'ютери для вирішення наукових проблем

7
Чи застарілий алгоритмічний аналіз за допомогою флоп-підліку?
На своїх курсах чисельного аналізу я навчився аналізувати ефективність алгоритмів, підраховуючи кількість потрібних їм операцій з плаваючою комою (флопи), залежно від розміру задачі. Наприклад, у тексті Трефетена та Бау про числовій лінійній алгебрі є навіть тривимірні зображення підрахунків флопу. Зараз модно говорити, що "флопи безкоштовні", тому що затримка пам'яті для …

9
Функціональне програмування та наукові обчислення
Прошу вибачення, якщо це неясне запитання, але ось що: За останні кілька років функціональне програмування приділяло багато уваги спільноті Software Engineering. Багато хто почав використовувати такі мови, як Scala та Haskell і претендував на успіх у порівнянні з іншими мовами програмування та парадигмами. Моє питання: як високоефективні фахівці з обчислень …

4
Що робить Фортран швидким?
Фортран займає особливе місце в чисельному програмуванні. Ви, звичайно, можете робити гарне та швидке програмне забезпечення іншими мовами, але Fortran дуже добре працює, незважаючи на свій вік. Крім того, у Fortran простіше робити швидкі програми. Я робив швидкі програми на C ++, але ви повинні бути більш уважними до таких …

18
Де можна отримати хороші набори даних / проблеми тестування алгоритмів / процедур тестування?
Оцінюючи якість програмного забезпечення, яке ви збираєтеся використовувати (будь то те, що ви написали, або консервований пакет) для обчислювальної роботи, часто є хорошою ідеєю побачити, наскільки добре він працює на стандартних наборах даних або проблемах. Де можна отримати ці тести для перевірки обчислювальних процедур? (Один веб-сайт / книга на відповідь, …

4
Наукові стандарти числових помилок
У моєму дослідженні специфікація експериментальних помилок є загальноприйнятою, а публікації, які їх не надають, піддаються сильній критиці. У той же час я часто виявляю, що результати чисельних обчислень надаються без будь-якого обліку числових помилок, хоча (а може й тому, що) часто виникають сумнівні чисельні методи. Я говорю про помилки, що …

8
Як зв’язати код з публікаціями
Наукові праці в наукових обчисленнях (і в багатьох інших галузях на сьогоднішній день) зазвичай включають деяку кількість коду або навіть цілих програмних пакетів, написаних спеціально для цього документу або використовуваних для отримання результатів у роботі. Який найкращий спосіб допомогти читачам статті отримати доступ до коду? Мій сучасний підхід полягає в …

14
Яке програмне забезпечення та робочий процес рекомендується для публікації наукових даних та графіків?
Яке програмне забезпечення забезпечує хороший робочий процес від простого побудови кількох точок даних до створення графіки рівня публікацій з детальними стилями, набором математичних даних та "професійною якістю"? Це трохи пов'язане з питанням про Девіда ( Які атрибути роблять фігуру професійною якістю? ), Але в центрі уваги не атрибути, а програмне …

3
Який стан сучасних паралельних методів ODE?
Зараз я розглядаю паралельні методи інтеграції ODE. Існує багато нової та старої літератури, яка описує широкий спектр підходів, але я не знайшов останніх опитувань чи оглядових статей, що описували б цю тему взагалі. Є книга Бургера [1], але їй майже 20 років, а отже, вона не охоплює багатьох сучасних ідей, …

2
Чому поділ настільки складніший, ніж інші арифметичні операції?
Нещодавно я стикався з випадком, коли мені потрібна була ціла операція ділення на чіпі, якому не вистачало одного (ARM Cortex-A8). Намагаючись досліджувати, чому це повинно бути, я з’ясував, що загалом поділ займає набагато більше циклів, ніж додавання, віднімання чи множення на майже будь-якій цілій (або фіксованій) архітектурі. Чому це так? …

7
Чи корисно використовувати вектор <vector <double>> для формування матричного класу для високоефективного наукового обчислювального коду?
Чи корисно використовувати vector&lt;vector&lt;double&gt;&gt;(використовуючи std) для формування матричного класу для високоефективного наукового обчислювального коду? Якщо відповідь - ні. Чому? Спасибі
37 hpc  c++ 

5
Чи можливо зробити кар’єру в SciComp, не сприяючи дослідженню зброї?
Я на міжнародній конференції (ICIAM2019) про чисельні методи і дивуюся тому, що кількість застосувань, безпосередньо пов'язаних з дослідженнями озброєнь. приклади: Один переможець премії проводить свою розмову про математичну проблему реконструкції радіолокації / виявлення рухомих об'єктів, в ході своєї бесіди він описує ситуацію радіолокаційної платформи на висоті 8 км, використовуючи активний …

4
Як оператор зворотної косої лінії MATLAB вирішує для квадратних матриць?
Я порівнював декілька своїх кодів із "запасними" кодами MATLAB. Я здивований результатами. Я запустив зразок коду (розріджена матриця) 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; Результати: For a\b Elapsed time is 0.052838 seconds. For LU Elapsed …

7
У які парадигми програмування я повинен вкладати кошти, якщо хочу, щоб мій код в майбутньому запускався на верстатах з високою шкалою?
З огляду опису топ-500 досить ясно, що галузь має тенденцію до експоненціального збільшення оброблювальних ядер . Найбільші суперкомп'ютери, які використовують MPI для зв'язку між вузлами, хоча, мабуть, не мають чіткої тенденції до паралелізму на вузлах, з найпростішим (але не обов'язково найефективнішим) підходом до відображення одного процесу MPI в кожне ядро, …

6
Символічні програмні пакети для матричних виразів?
Ми знаємо, що симетричний і позитивно-визначений. Ми знаємо, що є ортогональним:БАA\mathbf AБB\mathbf B Питання: чи симетричний і позитивно-визначений? Відповідь: Так.B ⋅ A ⋅ B⊤B⋅A⋅B⊤\mathbf B \cdot\mathbf A \cdot\mathbf B^\top Питання: Чи міг комп'ютер нам це сказати? Відповідь: Напевно. Чи є якісь символічні системи алгебри (на зразок Mathematica), які обробляють і …

11
Місце для публікації статей, що підкреслюють програмне забезпечення
Програмне забезпечення є фундаментальною частиною обчислювальної науки і все більше визнається важливою частиною наукових записів. Враховуючи цінність використання існуючого та добре перевіреного коду, здається, варто якомога ширше повідомити про існування корисних кодів та зарахувати їх творців. В академічній ситуації це означає публікацію деяких робіт, орієнтованих насамперед на програмне забезпечення. Де …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.