Supongamos que uno ha escrito una de matemáticas/ciencias de la computación de papel que se centra más en la parte de matemáticas de la misma. Tuve una muy complicado función y necesarias para encontrar su máximo, así que he usado Mathematica (Wolfram) para hacerlo. ¿Cómo se explica eso? "El uso de wolfram nos encontramos con el máximo de $f$ a $1.0328...$por lo tanto...". Se ve muy descuidado.
Respuestas
¿Demasiados anuncios?Bienvenido a MO! Creo que la respuesta a su pregunta depende de lo que Mathematica comando(s) que utiliza para buscar el máximo.
Si usted utiliza el comando Maximizar[], entonces su salida es exacta y, en mi opinión, puede en general ser de confianza, no menos que de la obra de acerca de cualquier humano. Una razón de esta creencia es que Maximizar[] probablemente ha sido probado por lo menos cientos o miles como muchas veces como un medio de prueba por un promedio matemático.
Aún así, otros pueden no estar de acuerdo con esta comparación entre el trabajo humano y las salidas de los comandos tales como Maximizar[], y así, entonces usted puede intentar obtener el máximo de una manera que puede ser verificado por la mano. También, por supuesto, Maximizar[] sólo puede resolver relativamente fácil de maximización de problemas.
Por otro lado, si sólo se utiliza el comando NMaximize[] -- que trata de encontrar el máximo numéricamente, luego de su salida sólo puede considerarse una sugerencia, ciertamente no una prueba.
Como es evidente a partir de las respuestas, diferentes a los matemáticos tienen diferentes actitudes hacia cálculos por ordenador. Si el ordenador de cálculo en realidad, no es lógicamente necesario para su prueba, entonces debería estar bien para decir que usted utiliza Mathematica. Desafortunadamente (o afortunadamente, dependiendo de su punto de vista), el mundo está avanzando rápidamente hasta el punto donde los ordenadores son realmente necesarios para demostrar ciertas cosas. Si un paso en particular en la prueba requiere de un cálculo que consume 1000 CPU horas, entonces no hay manera de que nadie va a ser capaz de "hacer a mano". No suena como su cálculo era que los grandes, pero el punto es que uno no siempre va a ser capaz de hacer a un lado la computadora, y así la comunidad matemática tiene que venir para arriba con una satisfactoria para este tipo de cosas.
Un enfoque abordado en otro MO pregunta, es para archivar o publicar el software de computadora junto con un papel. Usted puede encontrar algunas de las respuestas que el MO pregunta útil. Si usted va esta ruta, entonces te recomiendo intentar realizar el cálculo utilizando algún software de código abierto, así que no hay problema con hacer todo el código a disposición del público.
Lo que hace el software disponible sólo aborda el problema de hacer que su cálculo es reproducible, y no abordar la cuestión de si el cálculo es confiable. De nuevo, suponiendo que el equipo de cálculo es ineliminable, luego de la formalización de la computación mediante una prueba de ayudante (Coq, HOL Luz, Lean, etc.) es el estándar de oro en la actualidad. Por desgracia, la prueba de los asistentes no son todavía muy amigable con el usuario por medio de los estándares de la media matemático. Si usted no quiere morder esa bala, a continuación, probablemente el mejor que se puede hacer es realizar los cálculos, dos o tres veces de forma independiente, utilizando software independientes y (preferiblemente) una persona diferente de hacer la programación. Para un cálculo numérico, como otros han mencionado, es importante el uso de aritmética de intervalos o algún otro algoritmo que garantiza la corrección (asumiendo por supuesto que el algoritmo se implementa y ejecuta correctamente!). De punto flotante cálculos son generalmente insuficientes, de acuerdo a las normas generalmente aceptadas de rigor matemático.
La respuesta a esta difieren de los de un campo de la matemática a otro. En mi opinión (yo trabajo principalmente en la combinatoria y geometría algebraica) un documento debe contener la cantidad suficiente de datos que el lector pueda comprobar sus afirmaciones, sin depender de un paquete de software en particular, o debe enlace a un repositorio de datos.
El papel principal de donde vino esto que para mí es la Versión 1 de mi papel con Robert Kleinberg y Sawin. En la Sección 7 de este documento, tenemos que verificar que un determinado problema de programación lineal, cuyos términos constantes son polinomios en una expresión algebraica número $\rho$, es factible. Lo que hacemos en el papel es encontrar una solución de punto cuyas coordenadas exactas son polinomios en $\rho$ y proporcionar al lector, tanto a aquellos exacta de polinomios y con sus valores numéricos a la exactitud suficiente para confirmar que se trata de una solución. El escéptico lector puede utilizar las fórmulas exactas para comprobar que la igualdad de condiciones y, a continuación, puede calcular los valores numéricos en sus propios exactitud suficiente para comprobar que las desigualdades de espera. Nosotros no proporcionar el (bastante hackish) código de Mathematica que calcula este testimonio de datos.
Hemos impreso las primeras soluciones en el papel y, a continuación, cargar un archivo de texto en el arXiv (consulte "Descarga de la Fuente" aquí) con más.
Este material está ausente de la versión final de la ponencia, porque más general resultado fue demostrado por Pebody y Norin. De lo contrario, habríamos hecho algo similar en el documento final; no sé si la revista hubiera querido, todos los datos de impresión, hubiera querido para alojar los datos adicionales a sí mismos, o simplemente para mantenerlo en el arXiv, pero me gustaría hacer uno de estos.
Hace 25 años publiqué un papel donde había equipo basado en las enumeraciones de ciertos objetos combinatorios. Por desgracia yo no publicar el código (en la BRECHA, un sistema OSS) y se desvaneció después de que un lugar donde yo solía ser un postdoc algunos años después de apagar un servidor ftp con mis archivos). Afortunadamente, algunos resultados no fueron verificados por la mano. Hace apenas un mes tuve que sentarme y volver a hacer los cálculos para el resto de los casos, como alguien preguntó por él. Afortunadamente no tuvo demasiado tiempo, y he aprendido algo nuevo (y publicable).
De todos modos, publicar su código, y que sea suficientemente limpia para ser entendido años más tarde...
Otras respuestas y comentarios han hecho pasar sugerencias que quizás podría considerar la posibilidad de hacer el código disponible. Creo que es demasiado débil: es imperativo que usted debe hacer su código disponible, y yo no iba a aceptar su papel como editor o árbitro que si no se que. Usted debe subir el código a la arxiv como un archivo complementario, debido a que es bastante confiable para asegurarse de que la versión original sigue estando disponible. También podría poner en github o una página web personal.