¿Cuál es una forma de acelerar el cálculo en física, matemáticas y química?

Desde mi punto de vista: escribir código de computadora computacionalmente eficiente. Esta es mi especialidad. La mayoría de las veces, puedo tomar el código de otra persona y modificarlo para que se ejecute significativamente más rápido. Mi récord hasta la fecha es un factor de aceleración de 816.

Peter Pulay, un famoso químico cuántico, lo resumió:

“Un poco de tiempo mental puede ahorrar mucho tiempo de CPU”.

Cuando tengo un nuevo problema de cómputo, no empiezo a golpear el teclado, como hacen la mayoría de los programadores hoy en día. Me siento con lápiz y papel y calculo las matemáticas, adaptándolas a la forma más eficiente, menos repetitiva y no redundante. Luego escribo el código prestando atención a posibles ineficiencias en cada paso. A veces uso un perfilador para identificar cuellos de botella. Te sorprendería mucho, ya que me sorprendió, que alrededor de 2004, la función aparentemente simple ceil () (cálculo del techo de un valor de punto flotante), edición de Microsoft, ¡fuera un enorme cerdo de CPU! Nunca adivinaría eso a priori .

Desafortunadamente, escribir código eficiente de CPU parece ser un arte moribundo. Mi pregunta favorita para la entrevista es escribir un código simple para calcular el valor de un polinomio dado:

y = suma {i = 0; i <= n} (a_i * x ^ i)

de la manera más eficiente . A pesar de la palabra resaltada “eficiente”, la mayoría de los candidatos jóvenes todavía la calculan como está escrito anteriormente. Algunos incluso usan la costosa función pow () en un bucle, eh … Las universidades no se preocupan por la eficiencia del código, o ya ni siquiera lo enseñan.

La otra tendencia desafortunada que estoy observando entre algunos programadores es el proverbial fanatismo y culto “religioso”. Lo que quiero decir es que ciertas filosofías de programación hacen que algunos programadores jóvenes sean tan rígidamente dogmáticos que el pragmatismo saludable se vaya por la ventana. Como puede adivinar, esto da como resultado un código voluminoso, ilegible e ineficiente. Triste.

La forma en que uso es imaginar lo que se hace en la pregunta, entonces solo tiene que recordar las fórmulas relacionadas que simplemente puede aplicar y hacer en su mente o en papel.

Si desea hacer su cálculo más rápido, intente aprender matemáticas védicas. Tiene varios atajos para hacer el cálculo más rápido y fácil.