Red de conocimiento informático - Problemas con los teléfonos móviles - Química de programación de Python

Química de programación de Python

(Parte interesada: uso MATLAB y Python. Construyo ladrillos y no escribo código).

Algunos de mis amigos que se dedican a la química computacional, básicamente usan fortran, c/c o comercial. software de cálculo cuantitativo ab initio Gaussian, Molpro, Cfour, etc.

La química computacional se divide a grandes rasgos en tres partes:

1. Estas personas son básicamente matemáticos e informáticos, involucrados en códigos, algoritmos y estructuras de datos de nivel más bajo. Naturalmente, tuvieron que utilizar lenguajes de bajo nivel C o fortran, etc.

2. Cálculo cuantitativo desde cero. Estas personas generalmente utilizan software de cálculo cuantitativo desarrollado (como se mencionó al principio). Los cálculos cuantitativos ab initio implican algoritmos altamente especializados para resolver la ecuación de Schrödinger. Hasta donde yo sé, si el software de una gran empresa comercial como MATLAB gasta energía en un paquete de software de cálculo cuantitativo ab initio (en comparación con paquetes de software como economía y estadística), definitivamente será una pérdida. Sin embargo, en mi impresión, también he visto algo de literatura sobre el uso de Matlab para realizar cálculos cuantitativos muy superficiales.

3. Participar en simulaciones de dinámica molecular. Estas personas utilizan principalmente métodos mecánicos clásicos para calcular. Hay varios idiomas.

Para 2 y 3, personalmente creo que la elección del lenguaje generalmente considerará su eficiencia computacional, facilidad de uso y escalabilidad, así como también lo que se usó en el grupo anterior. Matlab es excelente para operaciones matriciales, ¡pero es muy caro! Python se está volviendo cada vez más popular y es gratuito, pero los cálculos simples en Python pueden ser un poco más lentos. Además, ninguno de ellos debería cuantificar el paquete de expansión correspondiente calculado desde cero.

Si su objetivo es más utilizar software de cálculo cuantitativo ya preparado para calcular nuevos sistemas de reacción química, entonces MATLAB puede no ser de mucha utilidad. Si su dirección es más estadística y usted mismo diseña muchas partes del código, simplemente elija un lenguaje con el que esté familiarizado y cuya velocidad de ejecución satisfaga las necesidades del proyecto. Después de todo, tanto matlab como python tienen interfaces para llamar directamente a c/c. Si eres demasiado lento, siempre terminarás abajo.

Fuera de tema, la química computacional no pudo encontrar una salida, por lo que todos acudieron a los codificadores. Si estás realmente interesado en la programación, debes aprender el lenguaje subyacente. No te detengas en matlab, un lenguaje interpretado que cuesta dinero. Si está interesado en los negocios, hay muchas otras cosas que puede hacer con matlab (pero Python también debería poder hacerlo, como la minería de datos).

Última frase: Muchas veces, las personas que hablan un determinado idioma poco a poco escribirán mal su propio código. Optimicé el código matlab restante en el grupo y la velocidad aumentó docenas de veces. Cada lenguaje tiene sus ventajas, pero al final, si tu algoritmo está bien escrito, puedes ejecutarlo.