45 votos

Cómo escribir asistida por ordenador de las matemáticas?

Mucho se ha dicho acerca de la redacción buena papeles en matemáticas. Un corto de google de consulta de los rendimientos de los innumerables fuentes de asesoramiento. Esta habilidad también parece ser bastante transferibles entre las ramas básicas de las matemáticas: un documento escrito en el análisis sigue los mismos principios básicos como un bien escrito en álgebra, etc.

Recientemente, me encontré con mi primera (esperemos) publicable resultado que utiliza la ayuda de un ordenador, y para mi vergüenza - se dio cuenta que yo tengo muy poca idea de lo bien escrito asistida por ordenador, el papel se ve como. Sorprendentemente, también he tenido ningún éxito en la búsqueda general la redacción de asesoramiento sobre este tema.

Probablemente sería demasiado amplio como para simplemente preguntar "¿Cómo escribir asistida por ordenador de las matemáticas?", aunque para ser honesto esa es la pregunta a la que yo estoy tratando de encontrar una respuesta. Permítanme tratar de ser (ligeramente) más específicos.

  1. ¿Existen manuales de estilo que abordan específicamente la cuestión de la redacción de ayuda de computadora de la matemática? Aparte de eso, ¿cuáles son algunos bien conocidos y bien escrita papeles que uno puede intentar emular?

  2. En mi caso particular, tengo alrededor de 20 páginas explicando cómo reducir un problema determinado en la teoría de números / combinatoria a un número finito de cálculo y alrededor de 100 líneas de código de Mathematica que realizar el computatio. Es un juego justo para simplemente decir, una vez que la explicación es completa, "tomé el argumento anterior y lo programé, y el equipo producido 42 como de salida, así que esa es la solución"? Si no, ¿cuáles son los pasos razonables para tomar con el fin de asegurar que mis resultados son verificables?

  3. ¿Qué pasos debo tomar para hacer que el código que he usado para realizar cálculos accesible? En principio, el lector puede recrear a sí mismos, de la misma forma en que se puede recorrer cualquier técnica de cálculo que habitualmente se omite, pero que parece poco educado.

9voto

ninegrid Puntos 213

Siga la regla de oro: haz a los lectores como te gustaría que te hicieran a ti.

Incluir técnicas cálculos si, al hacerlo, hace que los lectores de' la vida más fácil; omitir si el hacerlo sólo oscurece la exposición; moverlos a otras secciones o apéndices si no son útiles en una primera lectura, pero que todavía son de un valor potencial de (algunos) de los lectores.

El código no es diferente. Incluir en el texto en sí, si al hacerlo se comunica algo importante acerca de la matemática en sí misma. Delegar en el apéndice/página externa de otra manera. Incluir cualquier comentario sobre la aplicación, si estos no son evidentes.

Consideraciones especiales para el código:

  • Cuando se carga un documento en arXiv, usted puede cargar archivos auxiliares. Que es una buena manera de incluir el código con su papel.
  • No se olviden de comentar el código. El código está destinado a ser leído por las personas primero, y equipos de segunda.
  • En la escritura de código, ejercicio con el mismo cuidado que usted le que lo haría en depender de otra persona como resultado de su prueba. Trate de asegurarse de que las otras personas del código que se utiliza en realidad funciona correctamente. Esto es especialmente difícil con el cierre de los sistemas de propiedad, tales como Mathematica. Usted todavía puede realizar pruebas, y si es posible escribir más de una aplicación. Me he topado con un no despreciable número de errores de esta manera.

7voto

lterrier Puntos 31

Hay tantas cosas que decir aquí. "El concepto de 'bien' depende de la (posición del observador." "No sólo implican al lector, se les recluta!" "Código de lectura es más aburrido que la ejecute." "Es realmente demostró que si se necesita un ordenador?" Tentador como para abordar estos y otros puntos, voy a elaborar en uno sólo: el reclutamiento.

Un papel que se informa, pero un papel inspira. Imagine que usted quiere que alguien no sólo para verificar su resultado, sino que se extienden. Usted no sólo debe explicar su trabajo con la mayor claridad posible, también debe indicar las formas en que su trabajo podría ser verificados o extendida. Lo ideal es que han hecho parte de esta verificación o extensión de sí mismo, y dejó a algunos de la diversión de (re) descubrimiento para el lector interesado.

Si usted puede encapsular las ideas del código de Mathematica en un párrafo, que hace que el papel es más accesible que la presentación de un bloque de código comentado. Mi opinión (como lector, no como un escritor profesional) es que los listados de código es mejor dejar a un apéndice o el extremo del papel. Sólo si usted está escribiendo una muy alfabetizados del programa, donde cada subrutina enseña algo de matemáticas para el lector, por qué se incluyen en el papel. Describir cómo el programa se realiza en una carrera sin explicar bien por qué cada cálculo de la rama fue elegido tiene toda la emoción de ver que la pintura se seque. En su lugar, trate de desafiar al lector de código con el que, mediante la descripción de la parte pertinente de la computación, y luego de la presentación de su solución y sutilmente pidiendo al lector a venir para arriba con el código que es bueno o mejor.

No tengo ejemplos que se aplican directamente a su situación. En busca de inspiración, os recomiendo el Nuevo Turing Omnibus por A. K. Dewdney, que es una colección de artículos breves en ciencias de la computación. Si usted puede escribir el núcleo de su papel en el estilo de uno de estos artículos, al menos a la gente a leer y entender el núcleo, y dejar el menos emocionante para una serie de apéndices.

Gerhard "no Siempre elimina Un Apéndice" Paseman, 2020.06.25.

5voto

Dean Hill Puntos 2006

En teoría, la buena escritura es la buena escritura. Escribir (o para el caso, hacer) asistida por ordenador de las matemáticas es, en el fondo, no es diferente de la escritura (o hacer) cualquier clase de matemáticas.

En la práctica, asistida por ordenador, las matemáticas no plantean desafíos especiales. Matemáticos de la escritura sirve (al menos) dos propósitos: (1) que se desea transmitir sus ideas con claridad para que la gente entienda ellos; (2) usted quiere presentar sus argumentos de una manera que permite a otros para confirmar su exactitud. Sería maravilloso si pudiera lograr ambos objetivos al mismo tiempo, y a veces se puede, pero asistida por ordenador matemáticas tiende a plantear desafíos especiales. En particular, a menudo uno tiene que hacer frente a estos dos objetivos por separado.

Suena como usted ya ha hecho un muy buen trabajo de identificación de estas dos metas distintas, y dirigiéndose a ellos por separado. A sus 20 páginas suena como que se orienta hacia transmitir sus ideas con claridad, y motivar a la parte computacional. Todos los habituales directrices para la redacción de las matemáticas se aplican aquí. Si has hecho bien tu trabajo, el lector podrá entender lo que los asistida por ordenador parte se supone que debe hacer, y cómo lo hace. Todo lo que queda es la parte (2), asegurando que el lector puede confirmar la corrección sin demasiado dolor.

Para hacer esto, primero debe convencer a ti mismo de que el cálculo es correcto. Es bueno académicos de la práctica de tener algunos sano escepticismo acerca de la corrección de código de computadora, ya sea el código de otra persona o de su propio. Victor Miller le gusta contar la historia de cómo, históricamente, varios artículos publicados en el cálculo de la cantidad de números primos menos de $n$ sufrió de la "maldición" de que todas las entradas en su tabla eran correctas, excepto para la última y más grande valor. Para cualquier tipo de trivial de cálculo donde sus teoremas en realidad dependen de la computación siendo correcta, usted debe tratar de código hasta el cálculo en dos formas completamente diferentes (o utilizar al menos dos completamente diferentes de álgebra computacional paquetes). Si el cálculo es demasiado grande o complicado para que esto sea práctico, a continuación, tratar de pensar en las formas de generación de la corroboración de la evidencia de que su cálculo se lleva a cabo correctamente (por ejemplo, las sumas de comprobación, como Terry Tao comentado). Para un ejemplo de "mejores prácticas", recomiendo este StackOverflow respuesta a la pregunta de cómo verificar la exactitud de un cálculo de los dígitos de $\pi$. Por supuesto, en su valoración crítica, al menos debe resumir la cruz -, se comprueba que se realiza.

Por último, está la cuestión de cómo hacer que su código disponible para los demás. Esta es una pregunta importante, pero creo que esto ya ha sido abordado por el MO preguntas que los comentaristas han vinculado.

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