8 votos

Introducción general a las notaciones funcionales y a otras notaciones matemáticas

Soy programador desde hace tiempo. Tengo bastante experiencia en un poco de matemáticas en cuanto a la elaboración de algoritmos y tal, pero estoy muy lejos de la comprensión de una gran cantidad de notación.

De vez en cuando me encuentro con un problema en el que alguien me avisa de que he reinventado algún trozo de cálculo, trigonometría o algún otro campo. De vez en cuando esto da lugar a un código interesante y todo, pero he empezado a pensar que muy a menudo podría evitarlo si fuera capaz de leer y escribir la notación estándar con más fluidez.

Cuando se trata de esta área, soy honestamente un completo novato. ¿Hay alguna buena introducción o recursos que puedan ayudarme a entenderlo?

Tengo algún concepto sobre funciones simples, pero no mucho. La tendencia en el estudio ha sido que me encontraré demasiado profundo en algo demasiado complicado demasiado rápido y olvidaré todo.

  • Por ejemplo, tomando prestada otra recompensa abierta en este momento, no puedo leer lo siguiente:

$$\sum_{n=-\infty}^\infty J_n(x) J_{n+m}(x) = \delta(m)$$

Mi mente está atascada en el código, ¡ayúdame a salir de mi cueva! :)

8voto

Andrew Bolster Puntos 111

Matemáticas concretas: A Foundation for Computer Science de Graham, Knuth y Patashnik

Este es un párrafo del prefacio que habla del propósito del libro:

"Uno de los autores actuales se había embarcado en una serie de libros titulada El arte de la programación informática, y al escribir el primer volumen él [Knuth] había descubierto que faltaban herramientas matemáticas en su repertorio; las matemáticas que necesitaba para una comprensión profunda y bien fundamentada de los programas informáticos eran muy diferentes de las que había aprendido como estudiante de matemáticas en la universidad. Así que introdujo un nuevo curso, enseñando lo que deseaba que alguien le hubiera enseñado".

El libro repasa las relaciones de recurrencia, las sumas (incluyendo una sección sobre diferencias finitas mencionada por @Alex), la teoría de los números, los coeficientes binomiales, los números especiales como los números de Stirling, los números de Bernoulli y los números de Fibonacci, las funciones generadoras, la probabilidad y la asintótica. He leído la mayor parte del libro y es una lectura entretenida y me ha ayudado mucho (aunque soy un estudiante de posgrado de matemáticas que intenta estudiar teoría de números y muchas de estas cosas son útiles allí). El nivel no es demasiado alto (sé que va a ser más fácil para mí como estudiante de posgrado de matemáticas, pero todavía no creo que esté en un nivel increíblemente alto). Hay muchos ejercicios, que van desde los muy fáciles hasta los problemas de investigación. Las soluciones están en la parte posterior del libro para la mayoría de ellos. Casi no hay errores en este libro, lo cual es bueno para alguien que está aprendiendo por su cuenta. Knuth paga a la gente 2,56 dólares por cualquier error que encuentren y es una especie de prestigio recibir un cheque de Knuth. También hace el mismo tipo de cosas para "The Art of Computer Programming" y también para el lenguaje de escritura de ordenadores que inventó, TeX.

8voto

Steve Weet Puntos 122

Como programador que soy, siento tu dolor en esto.

Creo que se puede decir que cualquier programador experimentado podría coger un libro de referencia sobre casi cualquier lenguaje de programación existente y escribir de forma competente en ese lenguaje en poco tiempo. ¿Está de acuerdo?

Las matemáticas son así, pero no tienen la misma fluidez y matices que la programación. Las lenguas habladas tienen un cierto ritmo; aprender una lengua asiática facilita el aprendizaje de otras lenguas asiáticas, pero no necesariamente de las europeas.

Coger un libro de introducción "rápida" a la notación matemática no te ayudará. Necesitas experiencia, al igual que con la programación.

Hay algunos buenos recursos por ahí, pero no puedo pensar en un mejor recurso que tu propio trabajo y estudio. Encuentra los mejores libros de clase que puedas sobre los temas que enumero a continuación, y lo harás bien:

  • Álgebra lineal (2010, MIT OCW)
  • cálculo de una sola variable (2010, MIT OCW)
  • cálculo multivariable (2010, MIT OCW)
  • ecuaciones diferenciales (2010, MIT OCW)
  • introducción a los algoritmos (2005, MIT OCW)
    • Esta es una buena para los tipos de CS. Abarca la asintótica en relación con el análisis y el diseño de algoritmos: búsqueda y ordenación; árboles binarios, árboles rojos/negros, estructuras de capas de salto, ordenación de burbujas, etc. Dedican mucho tiempo a mostrar cómo analizar el tiempo de ejecución de un algoritmo, sus requisitos de memoria, el número de operaciones aritméticas o condicionales, etc.
  • El sitio OCW del MIT tiene algunas otras clases de matemáticas para la computación científica, pero el formato es difícil de seguir; mucho polvo de tiza, difícil de leer lo que está escrito, etc.
  • problemas de valor límite y/o ecuaciones diferenciales parciales
    • Esto, o un libro sobre procesamiento de señales te ayudará con la ecuación que citaste. Si no me equivoco, es un problema de vectores y valores propios.
  • teoría de los gráficos
    • Imprescindible para cualquier persona de CS
    • Recomiendo Combinatoria aplicada de Alan Tucker. Es un libro bastante compacto, muy legible, y la mayor parte es fácilmente abordable con poco más que una comprensión decente de Álgebra.
  • probabilidad y estadística (no los libros fáciles de primer y segundo año)
    • No tengo una buena recomendación de libro o conferencia. El libro que usé en la escuela fue doloroso. No voy a infligir eso en ti.
  • análisis numérico
    • Esta es una de las más importantes para la gente de CS que quiere exponerse a las matemáticas
    • Dos libros que voy a recomendar (con una advertencia):
      • Análisis numérico por Burden & Faires
        • Este libro es increíblemente legible hasta que los algoritmos empiezan a implicar muchos parámetros/variables. La notación se vuelve irritante hacia el final del libro.
        • [La mayoría de los 4 primeros capítulos deberían ser fáciles de seguir sin una sólida base de cálculo. Sin exposición a las ODEs, recomiendo ir a través de los capítulos 1-4, y 6-8; posiblemente el capítulo 9 (esos vienen de la 7ª edición. No conozco el diseño de la última edición)
      • Optimización numérica por Nocedal & Wright
        • Este es un buen libro para conseguirlo más adelante, cuando empieces a sentirte más cómodo con este tema. Suele utilizarse como libro de texto para graduados.
      • Ambos libros tienen un pseudocódigo bastante legible para todos sus algoritmos

-Brian

3voto

Jolien Neirynck Puntos 33

http://dlmf.nist.gov/ es un buen sitio para funciones especiales, etc. Así, para el ejemplo dado, la búsqueda de J(x) en el cuadro de búsqueda lleva rápidamente a las secciones sobre las funciones de Bessel.

1voto

clintp Puntos 5127

Personalmente, he encontrado "Modern Algebra: An Introduction", de John Durbin, es una introducción muy interesante y accesible a las matemáticas abstractas, que incluye mucha información sobre cómo pensar en conjuntos, funciones y cosas por el estilo. No estoy seguro de que sea exactamente lo que buscas, pero yo diría que al menos merece la pena echarle un vistazo.

Si lo único que te interesa es aprender cómo los matemáticos definen las funciones y la notación que utilizan, una rápida búsqueda en Google revela dos prometedores tutoriales: Este que explica las funciones de una sola variable, cómo pensar en ellas y las diferentes notaciones utilizadas para definirlas, y este , una presentación de diapositivas que explica las funciones de múltiples variables.

1voto

Andy Irving Puntos 1125

Si también te interesa la historia de los símbolos matemáticos (probablemente no, porque ahora estás en un aprieto, pero quizá tengas curiosidad...), puedes leer el libro clásico de F. Cajori, Historia de las notaciones matemáticas .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X