¿Cuánta programación implica la física teórica?

La respuesta depende de si le interesan principalmente los enfoques numéricos o analíticos para resolver problemas.

Analítico

Estás buscando soluciones exactas a los problemas físicos. Esto generalmente significa que está resolviendo un problema con lápiz y papel y con Mathematica, empleando argumentos físicos y teoremas matemáticos para probar o derivar un determinado resultado. Algunos ejemplos famosos de soluciones analíticas en campos dados son

  1. Relatividad general: solución de Schwarzchild para la ecuación de Einstein (es decir, el agujero negro esférico).
  2. Mecánica cuántica : los espectros de energía del oscilador armónico, el átomo de hidrógeno, los electrones en un campo magnético.
  3. Materia condensada : el mecanismo de emparejamiento de Cooper responsable de la superconductividad a baja temperatura.

En todos estos ejemplos, no es necesaria la programación para resolver el problema. Sin embargo, siempre es ventajoso poder programar y ejecutar simulaciones para verificar si su respuesta tiene sentido físico. Por lo tanto, se esperan conocimientos básicos de programación y competencia con Mathematica .

Numérico

generalmente significa que el problema es demasiado difícil de resolver analíticamente, pero aún puede hacer simulaciones que lo ayuden a comprender el sistema físico. Esta es una forma más nueva de hacer física (ya que la era de la computadora aún es joven), por lo que los ejemplos famosos son menos abundantes. Sin embargo, los campos donde encontrará este tipo de investigación inmensamente útil son

  1. Dinámica de fluidos : la ecuación de Navier-Stokes es notoriamente difícil de resolver analíticamente (ni siquiera sabemos si existen soluciones exactas). Sin embargo, puede modelar la dinámica de fluidos haciendo simulaciones numéricas y aprendiendo sobre las propiedades de varios regímenes de la ecuación.
  2. Cosmología : algunas cosas realmente interesantes que las personas hacen aquí son simulaciones de la expansión del universo dada la existencia de ciertos parámetros (materia oscura, energía oscura, inflación, etc.) para ver si los modelos son correctos o no.
  3. Toda la física : las simulaciones de Monte Carlo son útiles para estudiar una amplia gama de fenómenos, incluidos los fenómenos reticulares, la teoría del caos, la física de partículas y muchos más.

Se necesita mucha experiencia en programación en este caso , porque su herramienta principal para la investigación es la computadora. En particular, necesita conocer bastante bien la programación orientada a objetos, el análisis estadístico, el análisis de datos y la mecánica matricial para hacer un buen trabajo como físico numérico.

Personalmente, hago teoría analítica. Lápiz y papel. Sé programar, pero rara vez lo uso para la física. Pero es útil de vez en cuando cuando creo que encontré una solución y quiero verificar si tiene sentido, en cuyo caso hago una simulación rápida en Mathematica.

En cualquier caso, la programación es una habilidad realmente útil y, como muchos, desearía haberla aprendido antes.

Alex Sergeev tiene un buen punto. Para ampliar eso, hay mucha tecnología para la computación científica. Python es a menudo una opción popular. Multyvac le permite escribir aplicaciones de Python para ejecutar en múltiples nodos, pagados por minuto de cálculo. Oscureció gran parte del conocimiento profundo de construir un clúster, administrar el clúster y luego escribir aplicaciones complejas en ese clúster. Hay toneladas de servicios y herramientas como esta hoy.

Hay muchas tecnologías interesantes para ayudar a la computación científica:

  • Multyvac (solía ser PiCloud)
  • NumPy: te da tipos de datos comunes
  • Theano: una biblioteca para ayudarlo a analizar y evaluar grandes conjuntos multidimensionales. Puede aprovechar los clústeres de GPU, que son más asequibles que las supercomputadoras.

    Si alguna vez se encuentra con simulaciones de programación, puede ser más fácil de lo que anticipa, ya que una parte decente del trabajo ya está hecha para usted. Solo tienes que decirle qué hacer.

Como programador, animo a todos a tomar una clase. Solo puede ayudar.

Depende del problema en el que estés trabajando.

Dicho esto, el mundo de problemas que se puede hacer solo en una isla con un trozo de papel y un bolígrafo se está reduciendo día a día. Incluso los problemas computacionalmente manejables comienzan a ser cada vez más difíciles. En cualquier caso, un físico teórico necesita habilidades computacionales hoy para poder probar su resultado “analítico” que probablemente se ha obtenido con aproximaciones y términos descuidados. En otras palabras, las habilidades de programación son necesarias en estos días.

Hace más de cien años, las personas eran físicos teóricos o físicos experimentales. En los últimos cien años, la física computacional surgió como una nueva herramienta con su propio conjunto de supuestos y limitaciones.