Научные вычисления против численного анализа

9

Я двойная специальность в области компьютерных наук и математики. Я люблю оба предмета. Я думаю о карьере выпускника, возможно, в области научных вычислений. В чем реальная разница между научными вычислениями и численным анализом? Они учились как карьера?

лопасть
источник

Ответы:

18

Википедия дает хорошее определение

Числовой анализ - это изучение алгоритмов, которые используют числовую аппроксимацию (в отличие от общих символических манипуляций) для задач математического анализа (в отличие от дискретной математики).

Числовые аналитики обычно заинтересованы в доказательстве математических результатов об их алгоритмах, включая границы ошибок (насколько велика может быть ошибка в приближении), сходимость итерационных схем (приближается ли аппроксимация к правильному пределу), порядок и скорость сходимости (насколько быстро сходится ли алгоритм) и вычислительная сложность (ограничивающая количество операций, требуемых алгоритмом.) Можно проводить исследования в этих областях, даже не используя компьютер, и некоторые важные результаты даже предшествуют развитию цифровых компьютеров в 1950-х годах.

В Википедии также есть определение "Научные вычисления"

Вычислительная наука (также научное вычисление или научное вычисление (SC)) является быстро растущей междисциплинарной областью, которая использует передовые вычислительные возможности для понимания и решения сложных проблем. Вычислительная наука объединяет три отдельных элемента: [1] Алгоритмы (числовые и нечисловые) и программное обеспечение для моделирования и симуляции, разработанное для решения научных (например, биологических, физических и социальных), инженерных и гуманитарных проблем. Развивается компьютерная и информационная наука и оптимизирует передовое системное оборудование, программное обеспечение, сетевые компоненты и компоненты управления данными, необходимые для решения сложных вычислительных задач. Вычислительная инфраструктура, которая поддерживает как решение научных и инженерных задач, так и развитие компьютерных и информационных наук.

Научные вычисления гораздо больше касаются практических аспектов получения точных решений из компьютеров. Это, очевидно, основывается на результатах численного анализа, но также сильно зависит от компьютерной архитектуры и разработки программного обеспечения. Хотя исследования в области научных вычислений часто проводятся сами по себе и для разработки аппаратного и программного обеспечения, которое будет использоваться во многих приложениях, существует также много научных исследований в области компьютерных технологий, которые обусловлены необходимостью решения конкретных научных и инженерных задач. Например, разработка глобальных климатических моделей для изучения изменения климата также продвинула научные вычисления.

Числовой анализ чаще всего встречается на факультетах математики и прикладной математики, а научные вычисления - это междисциплинарная область, которую можно найти на факультетах информатики, математики и в различных инженерных и научных дисциплинах.

Брайан Борхерс
источник
1
В старые добрые времена на некоторых факультетах информатики проводился большой численный анализ (преподаватели, студенты, классы, исследования). Большая часть этой работы была посвящена разработке алгоритмов и программного обеспечения, которые хорошо работали для решения актуальных проблем в науке, технике, статистике (статистические вычисления), управлении / исследованиях операций и т. Д. Это было не только доказательство теорем для них самих.
Марк Л. Стоун
Будет ли прикладная математика хорошей отправной точкой для любого из них?
клинок
1
Да, фон в прикладной математике был бы полезен в любом направлении. Реальный вопрос в том, что вы хотите добавить к тому, что у вас уже есть. Широта (информатика и некоторые области науки или техники, в которых используется вычислительная наука) очень полезна в междисциплинарной области, такой как вычислительная наука.
Брайан Борхерс
6

Как человек, который перешел от инженерного к научному вычислению во время обучения в аспирантуре как случайная потребность в той работе, которую я выполнял здесь, это мои два цента:

  • Численный анализ сосредоточен на математической и алгоритмической сторонах. Выяснить, какие методы использовать для решения конкретной математической задачи, которая не имеет аналитического решения, например, Оптимизация матричных манипуляций PDE в ODE и т. Д.
  • Численный анализ в наши дни часто требует значительного объема программирования, но все же он в значительной степени переводит математические идеи эффективного алгоритма в компьютерный код.
  • Традиционно Фортран был оплотом. Но вы также можете рассчитывать на работу с C / C ++ и в наши дни Python. Некоторые вещи могут также включать пакеты, такие как Mathematica или MATLAB
  • Переход к научным вычислениям - это больше прикладная область, где пытаются использовать вычислительные ресурсы для решения какой-то научной проблемы. Это может потребовать много работы гаек и болтов. например, компиляция кодов, установка операционных систем и библиотек, настройка параметров для работы научного кода и т. д.
  • Поскольку в наши дни немало научных вычислений включает параллельные вычисления, вы, скорее всего, будете иметь некоторое отношение к вычислительным кластерам, суперкомпьютерам, облачным вычислениям и т. Д.
  • В научных вычислениях вы можете работать с такими языками программирования, как C / FORTRAN и т. Д., Ожидайте много работать с такими языками «склеивания» / сценариев, как bash / perl и т. Д.
  • Вы, вероятно, будете много работать с системами Linux-ey и в конечном итоге будете достаточно опытными в работе с командной строкой и с такими инструментами, как sed / awk и т. Д. Некоторые люди в конечном итоге становятся системными администраторами.
  • Много научных вычислений включает в себя визуализацию и хранение данных / извлечение данных. Многие люди становятся экспертами в области больших данных / Hadoop / Map Reduce и т. Д.
  • Численный анализ - это, по сути, специальная работа. Вы хорошо разбираетесь в математике и программировании и очень эффективно решаете конкретную задачу. Иногда изобретать алгоритм или два по пути. Научные вычисления, в некотором смысле, универсальная работа. Условно говоря. Вы часто используете различные инструменты вместе, чтобы решить конкретную прикладную проблему.
  • Многие научные вычисления могут включать в себя работу на интерфейсах. например, интерфейсы между двумя программами. Где вы передаете данные от одного инструмента к другому для обработки. С некоторыми форматами на этом пути. то есть вы пытаетесь найти разнообразные инструменты для общения друг с другом, где инструменты не были предназначены для общения друг с другом.
  • Научному специалисту по вычислительной технике часто приходится осваивать различные форматы данных. Многие инструменты будут иметь свои собственные собственные форматы, и кто-то должен будет декодировать данные в формат, который нравится числовому алгоритму.
  • Некоторые ребята из Scientific Computing заканчивают тем, что укомплектуют «справочные службы» очень специализированного характера (тоже хорошо платят), где каждый помогает научному сотруднику / студенту / профессору общего профиля использовать вычислительные ресурсы в учреждении для решения любой проблемы, которая может возникнуть. То есть научный компьютерщик - тот, кто знаком с разнообразными кодами и пакетами и может посоветовать пользователю, какой инструмент использовать для наилучшего решения проблемы в вычислительном отношении.
  • Вы можете в конечном итоге портировать коды на другое оборудование. Или распараллеливание старых кодов, которые были написаны в последовательном режиме. Или оптимизация кодов для ускорения работы. Некоторые парни конвертируют коды для работы в графических процессорах / CUDA и т. Д., Чтобы они работали быстрее.
  • Немало научных вычислений связано с устранением неисправностей. Часто коды, которые написали другие люди. Чтобы выяснить, почему они выходят из строя на определенном оборудовании и т. Д.
  • Часто вы посредник между специалистами. Например, мне приходилось работать в командах с хардкорными программистами, биологами, которые нуждаются в вычислениях, но не могут много программировать сами, системными администраторами, сетевыми гуру, техниками, обслуживающими центры обработки данных и т. д.
  • Ребят из Scientific Computing могут попросить внести значительный вклад, когда будет приобретено новое оборудование или определена архитектура вычислительной системы. При выполнении этих заданий вы очень тесно сотрудничаете с инженерами по продажам и технологами из Dell / Cray / IBM / Infiniband / Cisco и т. Д.

Надеюсь, это даст вам представление о полях!

Последний совет (возьмите это с огромной долей соли!): Если вы хорошо разбираетесь в математике, например, в точности и детальности, в чтении статей и выяснении деталей после значительных, целенаправленных усилий, где индивидуальный интеллект важен и включает длительные периоды непрерывной работы. усилия затем пойти на численный анализ.

С другой стороны, если вам нравится быть универсалом, переключайтесь между областями, компенсируйте гениальность тяжелой работой, будьте мастером на все руки, будьте готовы работать с нечеткими и расплывчатыми часто противоречивыми рекомендациями, например, работать с командами и справляться с конфликтами. , сжатые сроки, работа с MBA и т. д., а затем стать научным сотрудником.

Снова возьмите это с огромной щепоткой соли. Обстоятельства каждого человека особенные. И большинство из нас приземлились там, где сделали это по чистой случайности, а не потому, что планировали так. :)

curious_cat
источник
0

Вы хотите стать прикладным математиком. Эта специальность доступна во многих университетах в их инженерной школе, а также в качестве кандидата наук. Хотя по моему опыту, математика является более важным навыком, некоторые технические знания в области формальной информатики могут быть полезны, и вы не сможете получить его в других местах. Только будьте осторожны, чтобы не зайти далеко в кроличью нору CS, иначе вы можете заняться исследованиями CS, которые могут оттолкнуть вас от практического применения.

Чтобы ответить на ваш конкретный вопрос, прикладной математик проведет исследования в области численных методов и анализа и, возможно, будет сотрудничать с научными исследователями для выполнения научных вычислений в нескольких областях. Если вы хотите заниматься научными вычислениями конкретно, вы можете ввести научную дисциплину, такую ​​как вычислительная химия, биофизика, климат, биоинформатика и т. Д.

user21387
источник
Если вы прочитаете мой вопрос, вы увидите, что я двойник. На самом деле я посвящаю больше времени моей математике, чем моей специализации. Я совсем не беспокоюсь о том, чтобы углубиться в cs
blade
Я прочитал ваш вопрос, поэтому я сказал «и как доктор». Ответ предназначен, чтобы быть полезным для других, кто, возможно, не выбрал специализацию. Удачи в твоем поиске. Кандидаты, как правило, очень гибкие, поэтому найдите группу, занимающуюся тем, что вам нравится, и не беспокойтесь слишком сильно о том, чтобы попасть в одну область.
user21387