Запитання з тегом «c»

C - мова програмування загального призначення. Спочатку призначений для впровадження системного програмного забезпечення, C та його близькі родичі - це основні мови, які використовуються в більшості сучасних операційних систем. Завдяки своєму тонкому шару абстрагування та низькій накладній витраті, C дозволяє ефективно кодувати алгоритми та структури даних, корисні для наукових обчислень. Використовуйте цей тег для питань, що стосуються мови програмування C.

17
Чи є якісний нелінійний програмувальний вирішувач для Python?
У мене є декілька складних проблем, що стосуються невипуклої глобальної оптимізації. В даний час я використовую панель інструментів оптимізації MATLAB (конкретно, fmincon()з алгоритмом = 'sqp'), що є досить ефективним . Однак більша частина мого коду знаходиться в Python, і я хотів би зробити оптимізацію і в Python. Чи є розв'язувач …

6
Наскільки краще насправді компілятори Fortran?
Це питання є продовженням двох дискусій, які нещодавно з'явилися у відповідях на " C ++ проти Fortran для HPC ". І це трохи більше виклику, ніж питання ... Один з найбільш часто почутих аргументів на користь Fortran - це те, що компілятори просто кращі. Оскільки більшість компіляторів C / Fortran …
74 fortran  c  blas  benchmarking 

17
Чи часто не використовувати бібліотеки для стандартних числових алгоритмів, і чому?
Багато наукових чисельних алгоритмів (інтеграція, диференціювання, інтерполяція, спеціальні функції тощо) доступні в наукових бібліотеках обчислень, таких як GSL . Але я часто бачу код із "рулонними" реалізаціями цих функцій. Для невеликих програм, які не обов'язково призначені для публічного розповсюдження, чи є загальною практикою серед науковців-обчислювачів просто застосовувати чисельні алгоритми (під …
54 libraries  c 

8
Розбір даних про структуру білка в С
Моє передумови в геноміці, але останнім часом я працюю з проблемами, пов’язаними зі структурою білка. Я написав декілька відповідних програм на C, будуючи власний аналізатор файлів PDB з нуля в процесі. Я не турбувався про те, щоб зробити дійсно надійний аналізатор, я просто знав, що побудова одного себе буде найкращим …

3
Стратегії вводу / виводу для обчислювальних задач з великими наборами даних?
Моя дослідницька група зосереджується на молекулярній динаміці, яка, очевидно, може генерувати гігабайти даних як частину єдиної траєкторії, яку потім необхідно проаналізувати. Деякі проблеми, з якими ми стикаємося, стосуються кореляцій у наборі даних, а це означає, що нам потрібно відслідковувати велику кількість даних у пам'яті та аналізувати їх, а не використовувати …
15 python  c  efficiency 

5
Обчислити
Функція має сингулярність поблизу x = 0 . Ця особливість може бути знята, хоча: для x = 1 , слід мати f ( x ) = 1 , оскільки e x = ∑ k = 0 x kf:x↦(ex−1)/xf:x↦(ex−1)/xf \colon x \mapsto (e^x-1)/xx=0x=0x = 0x=1x=1x = 1f(x)=1f(x)=1f(x) = 1 і таким …
13 c++  c 

4
Це C повільніше, ніж Фортран, на перестрілці спектральної норми (використовуючи gcc, intel та інші компілятори)?
Висновок тут: Наскільки краще насправді компілятори Fortran? полягає в тому, що gfortran і gcc настільки швидкі для простого коду. Тому я хотів спробувати щось складніше. Я взяв приклад зйомки спектральної норми. Спочатку попередньо підраховую 2D матрицю A (:, :), а потім обчислюю норму. (Я думаю, що це рішення заборонено на …
13 fortran  c 

1
Чи є там інструмент, який може генерувати розширення інтервалів функцій Fortran (або C), аналізуючи код Fortran (або C)?
Приклади моєї кандидатської дисертації вимагають, щоб у мене було інтервал розширень підпрограм Fortran в CHEMKIN-II (вибачення за посилання; це найкраще, що я міг би знайти для пакету, який більше не поширюється Національною лабораторією Sandia). CHEMKIN-II - хімічний пакет, що використовується в хімії згоряння; оскільки це стандартний пакет, що використовується для …

2
Чи існує набір відкритих вихідних джерел ODE для C, які використовують вбудований комплексний тип C99?
Я використовую GSL в якості основи багатьох моїх моделювань, але це трохи надмірно для моїх цілей, і він визначає власний складний тип із застарілих причин. Замість того, щоб кодувати мій власний ODE-розв'язувач Runge-Kutta, який, мабуть, не буде дуже ефективним, чи існують якісь відкриті вихідні джерела ODE, які використовують рідний комплексний …
12 c  ode 

3
Тестування, якщо дві матриці 12х12 мають однаковий визначник
Мені дано матрицю яка симетрична, обернена, позитивно визначена і щільна. Мені потрібно перевірити, чи де J - матриця всіх.12×1212×1212 \times 12QQQdet(Q)=det(12I−Q−J)(1)det(Q)=det(12I−Q−J)(1)\det(Q) = \det(12I-Q-J) \; \; (1)JJJ Зараз я це роблю з бібліотекою броненосців, але це виявляється занадто повільно. Вся справа в тому, що мені потрібно це зробити на трильйон матриць, …

4
Шукаєте Runge-Kutta 8-го порядку в C / C ++
Я хотів би використовувати метод Runge-Kutta 8-го порядку (89) у застосуванні небесної механіки / астродинаміки, написаному на C ++, за допомогою машини Windows. Тому мені цікаво, чи хтось знає хорошу бібліотеку / програму, яка є документально підтвердженою та вільною для використання? Це нормально, якщо це написано на C, якщо не …

3
Рекомендації щодо легкого / не встановленого C або C ++ на основі щільного лінійного алгебри
Більшість моїх програмувань - це одноразові дослідницькі коди на C для мого власного використання. Я ніколи не поширював жодного коду, окрім близьких співробітників. Я розробив алгоритм, який публікую у науковому журналі. Я хочу надати вихідний код та, можливо, виконуваний код в онлайн-додатку до статті. Колега попросив мене зробити узагальнення до …

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