¿Cuál es el mejor software para las matemáticas de nivel secundario y universitario?

En general, estoy de acuerdo con David Moore, pero hay algunos problemas que realmente no puedo.

  1. Es un paquete comercial y no puedo estar de acuerdo con nadie que quiera introducir software comercial en la escuela secundaria / universidad (esto es vinculante para el cliente en una etapa muy temprana).
  2. No creo que alguien necesite publicar parcelas preparadas de alta calidad a nivel de escuela secundaria / universidad.
  3. Mathematica es un lenguaje de programación, pero no tiene comparación real (con una excepción, pero más adelante hablaré de esto) con la mayoría de los lenguajes de programación utilizados a nivel profesional (lo que significa que todo lo que aprende allí es bastante difícil, por no decir imposible, aplicar en otro idioma).
  4. Mathematica es algo así como una caja negra. Tiene una biblioteca estándar enorme y maravillosa diseñada para resolver innumerables problemas en el área matemática / STEM. Pero. La mayoría de las veces, mientras obtienes un resultado correcto, realmente no sabes cómo ha hecho esto. Por supuesto, alguien podría decir: “Pero existe la documentación, donde explican qué algoritmo usan, etc.”. Cierto. Pero lo que obtienes es un nombre y debes investigar por tu cuenta, cómo funciona este algoritmo y cómo se podría implementarlo. Por lo tanto, a excepción de un resultado bien renderizado, de todos modos debe hacer el trabajo real.

En cuanto a (4). ¿No sería mejor si pudieras programar la solución a tu problema por tu cuenta (como en Mathematica), pero al mismo tiempo aprender / comprender las matemáticas subyacentes?

Por lo tanto, mi mejor consejo es utilizar algo que esté abierto y que se adhiera a estándares cada vez más aceptados.

Mi propuesta, por lo tanto, es: ¡ usar Python!

Especialmente quiero mencionar IPython (Anuncios – IPython).

IPython viene con una interfaz de notebook basada en navegador con soporte para código, texto, expresiones matemáticas, interactividad y rich media.

Puede compartir un cuaderno fácilmente con otras personas (por supuesto, también deberían tener ipython), si desea trabajar en colaboración en algún problema o puede compartirlo de esa manera, que alguien solo pueda ver lo que ha hecho.

Python viene con una pila de bibliotecas muy rica y madura para hacer cálculos científicos:

  1. numpy (para cálculos orientados a matrices como, por ejemplo, álgebra lineal)
  2. scipy (biblioteca fundamental para computación científica (por ejemplo, interpolación, diferenciación, diferenciación parcial)
  3. pandas (estructuras de datos y análisis de datos)
  4. sympy (cálculos simbólicos)
  5. matplotlib (biblioteca de trazado 2D / 3D)

Si desea realizar cálculos simbólicos, pero no necesita una potencia de esa magnitud como la ofrece Mathica, debe considerar sympy.

Aquí hay algunos enlaces a las notebooks ipython visibles para mostrarle lo poderoso que es esto:

  • http: //nbviewer.http: //ipython.org/github/ipython/ipython/blob/2.x/examples/Notebook/Trapezoid%20Rule.ipynb (Una ilustración simple de la regla trapezoide para la integración definitiva)
  • http://nbviewer.ipython.org/gith… (cálculos simulados)

Antes de terminar, me gustaría aclarar que mi propuesta no termina en la escuela secundaria / universidad, pero esto es de gran uso en las universidades y en la investigación profesional también.

Yo mismo uso el cuaderno de ipython diariamente para compartir ideas algorítmicas, cálculos y visualizaciones con colegas.

Realmente creo que ipython es un cambio de juego en el panorama científico y que tarde o temprano se convertirá en la lengua franca. Por lo tanto, cualquier esfuerzo que gaste en esto obtendrá algo que lo llevará más lejos en su carrera posterior.

Realmente espero que esta sea una respuesta que te ayude en la toma de decisiones.


Según su pregunta actualizada. Esto aún se mantiene. Solo depende si desea aprender / usar un lenguaje más general (también conocido como Python) o simplemente desea reutilizar los resultados que un lenguaje específico de dominio (Mathematica) le proporciona.

Salud

Stefan

Mathematica es mi viejo favorito. Algunas cosas que he hecho con eso:

(Dije “algunos”. Mi carpeta de Dropbox de Mathematica tiene 147 archivos / 200mb).

Por ejemplo, tenía una integral absolutamente desesperada que quería resolver debido a un problema relacionado con la ecuación de onda. El valor del principio de Cauchy de [math] \ int _ {- \ infty} ^ {\ infty} \ frac {\ csc (x) \ sin (\ omega x)} {x ^ 2-c ^ 2} dx [/ math] . (excepto en algunos casos degenerados, cada asíntota tiene una integral divergente a su alrededor, pero un lado sale a + inf mientras que el otro va a -inf, por lo que se cancela a un resultado finito al tomar el valor del principio cauchy). En realidad, puede aplicar una técnica en la que tome un intervalo alrededor de cada punto de inflexión, céntrelo alrededor del origen y luego tome solo la parte par de la función (ya que la parte impar necesariamente debe integrarse a cero. [Cada función puede escribirse como la suma de una función par y una impar]). ¡Entonces puede sumar todos los intervalos de cero a infinito, y he aquí, el problema se reduce a la integral de una función continua finita! Una función continua finita repugnantemente complicada, pero no obstante una continua continua finita.

Así que sí. Mathematica Recuerde, aunque no es una máquina para resolver ecuaciones *, es un lenguaje de programación . Así que obtenga algunos libros y trabaje en ellos como lo haría en un curso escolar, como Mathematica, Un enfoque centrado en el problema y Mathematica en acción . (el primero es trabajar duro para hacerte un buen programador de Mathematica. El segundo deberías divertirte mientras lees.

Python puede brindarle herramientas para crear gráficos y analizar conjuntos de datos. También es un buen paquete de software / lenguaje (¡gratis!) Para computación científica, y muchos lo consideran un buen lenguaje para los programadores principiantes. Con esos hechos en mente, y considerando su interés en estudiar ciencias de la computación e ingeniería, aprender Python es probablemente una buena idea. Dicho esto, las matemáticas de la escuela secundaria deben ser sobre explorar y desarrollar la comprensión de los conceptos matemáticos. El software puede ser una herramienta útil para ayudar a este proceso, pero no es un sustituto para comprender qué significan los gráficos y las ecuaciones, y cómo están conectados a otros conceptos.