stringtranslate.com

aritmética de intervalos

Función de tolerancia (turquesa) y aproximación valorada por intervalos (rojo)

La aritmética de intervalos (también conocida como matemática de intervalos; análisis de intervalos o cálculo de intervalos ) es una técnica matemática utilizada para mitigar los errores de redondeo y medición en el cálculo matemático mediante el cálculo de límites de funciones . Los métodos numéricos que implican aritmética de intervalos pueden garantizar resultados relativamente fiables y matemáticamente correctos. En lugar de representar un valor como un solo número, la aritmética de intervalos o las matemáticas de intervalos representan cada valor como un rango de posibilidades .

Matemáticamente, en lugar de trabajar con una variable de valor real incierta , la aritmética de intervalos trabaja con un intervalo que define el rango de valores que puede tener. En otras palabras, cualquier valor de la variable se encuentra en el intervalo cerrado entre y . Una función , cuando se aplica a , produce un intervalo que incluye todos los valores posibles para para todos .

La aritmética de intervalos es adecuada para diversos fines; el uso más común es en trabajos científicos, particularmente cuando los cálculos son manejados por software, donde se utiliza para realizar un seguimiento de los errores de redondeo en los cálculos y de las incertidumbres en el conocimiento de los valores exactos de los parámetros físicos y técnicos. Estos últimos a menudo surgen de errores de medición y tolerancias de los componentes o debido a límites en la precisión computacional. La aritmética de intervalos también ayuda a encontrar soluciones garantizadas a ecuaciones (como ecuaciones diferenciales ) y problemas de optimización .

Introducción

El principal objetivo de la aritmética de intervalos es proporcionar una forma sencilla de calcular los límites superior e inferior del rango de una función en una o más variables. Estos puntos finales no son necesariamente el verdadero supremo o mínimo de un rango, ya que el cálculo preciso de esos valores puede ser difícil o imposible; los límites solo necesitan contener el rango de la función como un subconjunto.

Este tratamiento normalmente se limita a intervalos reales, por lo que cantidades en la forma

donde y están permitidos. Con uno de , infinito, el intervalo sería ilimitado; con ambos infinitos, el intervalo sería la recta numérica real extendida. Dado que un número real se puede interpretar como el intervalo, los intervalos y los números reales se pueden combinar libremente.

Ejemplo

Índice de masa corporal de una persona de 1,80 m de altura en relación con el peso corporal m (en kilogramos)

Considere el cálculo del índice de masa corporal (IMC) de una persona . El IMC se calcula dividiendo el peso corporal de una persona en kilogramos por el cuadrado de su altura en metros. Supongamos que una persona usa una báscula que tiene una precisión de un kilogramo, donde no se pueden discernir valores intermedios, y el peso real se redondea al número entero más cercano. Por ejemplo, 79,6 kg y 80,3 kg son indistinguibles, ya que la báscula sólo puede mostrar valores al kilogramo más cercano. Es poco probable que cuando la báscula marque 80 kg, la persona tenga un peso de exactamente 80,0 kg. Así, la báscula que indica 80 kg indica un peso entre 79,5 kg y 80,5 kg, o el intervalo .

El IMC de un hombre que pesa 80 kg y mide 1,80 m es aproximadamente 24,7. Un peso de 79,5 kg y la misma altura arroja un IMC de 24,537, mientras que un peso de 80,5 kg arroja un IMC de 24,846. Dado que la masa corporal es continua y siempre aumenta para todos los valores dentro del intervalo de peso especificado, el verdadero IMC debe estar dentro del intervalo . Dado que todo el intervalo es inferior a 25, que es el límite entre el peso normal y el excesivo, se puede concluir con certeza que el hombre tiene un peso normal.

El error en este ejemplo no afecta la conclusión (peso normal), pero esto no es cierto en general. Si el hombre pesara un poco más, el rango del IMC podría incluir el valor límite de 25. En tal caso, la precisión de la escala sería insuficiente para llegar a una conclusión definitiva.

El rango de ejemplos de IMC podría informarse ya que este intervalo es un superconjunto del intervalo calculado. Sin embargo, el rango no se pudo informar como , ya que el intervalo no contiene posibles valores de IMC.

Múltiples intervalos

Índice de masa corporal para diferentes pesos en relación con la altura L (en metros)

Tanto la altura como el peso corporal afectan el valor del IMC. Aunque el ejemplo anterior sólo consideró la variación del peso, la altura también está sujeta a incertidumbre. Las medidas de altura en metros suelen redondearse al centímetro más cercano: una medida registrada de 1,79 metros representa una altura en el intervalo . Dado que el IMC aumenta uniformemente con respecto al peso y disminuye con respecto a la altura, el intervalo de error se puede calcular sustituyendo los valores más bajo y más alto de cada intervalo y luego seleccionando los resultados más bajo y más alto como límites. Por lo tanto, el IMC debe existir en el intervalo

En este caso, el hombre puede tener un peso normal o tener sobrepeso; las mediciones de peso y altura no fueron lo suficientemente precisas para llegar a una conclusión definitiva.

Operadores de intervalo

Una operación binaria en dos intervalos, como la suma o la multiplicación, se define por

En otras palabras, es el conjunto de todos los valores posibles de , donde y están en sus intervalos correspondientes. Si es monótono para cada operando en los intervalos, que es el caso de las cuatro operaciones aritméticas básicas (excepto la división cuando el denominador contiene ), los valores extremos ocurren en los puntos finales de los intervalos del operando. Escribiendo todas las combinaciones, una forma de decir esto es

siempre que esté definido para todos y .

Para aplicaciones prácticas, esto se puede simplificar aún más:

El último caso pierde información útil sobre la exclusión de . Por tanto, es común trabajar con y como intervalos separados. De manera más general, cuando se trabaja con funciones discontinuas, a veces es útil hacer el cálculo con los llamados intervalos múltiples de la forma La aritmética de intervalos múltiples correspondiente mantiene un conjunto de intervalos (generalmente disjuntos) y también proporciona intervalos superpuestos para unir . [1]

Multiplicación de intervalos positivos

La multiplicación de intervalos a menudo solo requiere dos multiplicaciones. Si , no son negativos,

La multiplicación se puede interpretar como el área de un rectángulo con aristas variables. El intervalo de resultados cubre todas las áreas posibles, desde la más pequeña hasta la más grande.

Con la ayuda de estas definiciones, ya es posible calcular el rango de funciones simples, como por ejemplo, if y :

Notación

Para acortar la notación de intervalos, se pueden utilizar paréntesis.

se puede utilizar para representar un intervalo. Tenga en cuenta que en una notación tan compacta no debe confundirse entre un intervalo de un solo punto y un intervalo general. Para el conjunto de todos los intervalos, podemos usar

como abreviatura. Para un vector de intervalos podemos utilizar una fuente en negrita: .

Funciones elementales

Valores de una función monótona

También se pueden definir funciones de intervalo más allá de los cuatro operadores básicos.

Para funciones monótonas en una variable, el rango de valores es sencillo de calcular. Si es monótonamente creciente (o decreciente) en el intervalo, entonces para todo tal que (o decreciente ).

Por tanto , el rango correspondiente al intervalo se puede calcular aplicando la función a sus puntos finales:

A partir de esto, se pueden definir fácilmente las siguientes características básicas para las funciones de intervalo:

Para potencias pares, el rango de valores que se consideran es importante y debe abordarse antes de realizar cualquier multiplicación. Por ejemplo, for debería producir el intervalo cuando. Pero si se toma repitiendo la multiplicación del intervalo de la forma, entonces el resultado es más amplio de lo necesario.

De manera más general, se puede decir que, para funciones monótonas por partes, es suficiente considerar los puntos finales de un intervalo, junto con los llamados puntos críticos dentro del intervalo, siendo aquellos puntos donde la monotonicidad de la función cambia de dirección. Para las funciones seno y coseno , los puntos críticos están en o para , respectivamente. Por lo tanto, sólo es necesario considerar hasta cinco puntos dentro de un intervalo, ya que el intervalo resultante lo es si el intervalo incluye al menos dos extremos. Para el seno y el coseno, solo los puntos finales necesitan una evaluación completa, ya que los puntos críticos conducen a valores precalculados fácilmente, es decir, -1, 0 y 1.

Extensiones de intervalo de funciones generales.

En general, puede que no sea fácil encontrar una descripción tan simple del intervalo de salida para muchas funciones. Pero todavía es posible extender funciones a la aritmética de intervalos. Si es una función de un vector real a un número real, entonces se llama extensión de intervalo de if

Esta definición de la extensión del intervalo no da un resultado preciso. Por ejemplo, ambos y son extensiones permitidas de la función exponencial. Son deseables extensiones más estrictas, aunque se deben considerar los costos relativos del cálculo y la imprecisión; en este caso, se debe elegir el que dé el resultado más ajustado posible.

Dada una expresión real, su extensión de intervalo natural se logra utilizando las extensiones de intervalo de cada una de sus subexpresiones, funciones y operadores.

La extensión del intervalo de Taylor (de grado ) es una función diferenciable por tiempos definida por

para algunos , donde es el diferencial de orden de en el punto y es una extensión de intervalo del resto de Taylor.

Forma de valor medio

El vector se encuentra entre y con , está protegido por . Por lo general, se elige ser el punto medio del intervalo y se utiliza la extensión del intervalo natural para evaluar el resto.

El caso especial de la extensión de grado del intervalo de Taylor también se conoce como forma de valor medio .

Aritmética de intervalos compleja

Un intervalo se puede definir como un conjunto de puntos dentro de una distancia específica del centro, y esta definición se puede extender de números reales a números complejos . [2] Otra extensión define intervalos como rectángulos en el plano complejo. Como ocurre con la computación con números reales, la computación con números complejos implica datos inciertos. Entonces, dado que un número de intervalo es un intervalo real cerrado y un número complejo es un par ordenado de números reales , no hay razón para limitar la aplicación de la aritmética de intervalos a la medida de incertidumbres en cálculos con números reales. [3] Por lo tanto, la aritmética de intervalos se puede ampliar, a través de números de intervalos complejos, para determinar regiones de incertidumbre en la computación con números complejos. Se puede definir la aritmética de intervalos compleja utilizando rectángulos o utilizando discos, ambos con sus respectivas ventajas y desventajas. [3]

Las operaciones algebraicas básicas para números de intervalo real (intervalos reales cerrados) se pueden extender a números complejos. Por lo tanto, no es sorprendente que la aritmética de intervalos complejos sea similar, pero no igual, a la aritmética compleja ordinaria. [3] Se puede demostrar que, como es el caso de la aritmética de intervalos reales, no existe distributividad entre la suma y la multiplicación de números de intervalos complejos excepto en ciertos casos especiales, y no siempre existen elementos inversos para los números de intervalos complejos. [3] Otras dos propiedades útiles de la aritmética compleja ordinaria no se cumplen en la aritmética de intervalos complejos: las propiedades aditivas y multiplicativas de los conjugados complejos ordinarios no se cumplen para los conjugados de intervalos complejos. [3]

La aritmética de intervalos se puede extender, de manera análoga, a otros sistemas numéricos multidimensionales como los cuaterniones y los octoniones , pero con el costo de sacrificar otras propiedades útiles de la aritmética ordinaria. [3]

Métodos de intervalo

Los métodos del análisis numérico clásico no se pueden transferir uno a uno a algoritmos con valores de intervalo, ya que las dependencias entre valores numéricos generalmente no se tienen en cuenta.

Aritmética de intervalos redondeados

Límites exteriores en diferentes niveles de redondeo

Para funcionar eficazmente en una implementación de la vida real, los intervalos deben ser compatibles con la computación de punto flotante. Las operaciones anteriores se basaban en aritmética exacta, pero en general es posible que no se disponga de métodos de solución numérica rápida. El rango de valores de la función para y son, por ejemplo . Cuando el mismo cálculo se realiza con precisión de un solo dígito, el resultado normalmente sería . Pero este enfoque contradeciría los principios básicos de la aritmética de intervalos, ya que se perdería una parte del dominio de. En su lugar, se utiliza la solución redondeada hacia afuera .

El estándar IEEE 754 para aritmética binaria de coma flotante también establece procedimientos para la implementación del redondeo. Un sistema compatible con IEEE 754 permite a los programadores redondear al número de coma flotante más cercano; Las alternativas son redondear hacia 0 (truncar), redondear hacia el infinito positivo (es decir, hacia arriba) o redondear hacia el infinito negativo (es decir, hacia abajo).

De este modo, el redondeo externo requerido para la aritmética de intervalos se puede lograr cambiando la configuración de redondeo del procesador en el cálculo del límite superior (arriba) y el límite inferior (abajo). Alternativamente, se puede agregar un pequeño intervalo apropiado.

problema de dependencia

Estimación aproximada del rango de valores.

El llamado problema de la "dependencia" es un obstáculo importante para la aplicación de la aritmética de intervalos. Aunque los métodos de intervalo pueden determinar con mucha precisión el rango de operaciones y funciones aritméticas elementales, esto no siempre es cierto con funciones más complicadas. Si un intervalo aparece varias veces en un cálculo utilizando parámetros y cada aparición se toma de forma independiente, esto puede llevar a una expansión no deseada de los intervalos resultantes.

Tratar cada aparición de una variable de forma independiente.

A modo de ilustración, tome la función definida por Los valores de esta función en el intervalo son. Como extensión del intervalo natural, se calcula como:

que es un poco más grande; en su lugar, hemos calculado el mínimo y el supremo de la función. Hay una mejor expresión de en la que la variable solo aparece una vez, es decir, reescribiéndola como suma y elevando al cuadrado en la cuadrática .

Entonces el cálculo del intervalo adecuado es

y da los valores correctos.

En general, se puede demostrar que se puede lograr el rango exacto de valores si cada variable aparece solo una vez y si es continua dentro del cuadro. Sin embargo, no todas las funciones se pueden reescribir de esta manera.

efecto envolvente

La dependencia del problema que causa la sobreestimación del rango de valores puede llegar incluso a cubrir un rango amplio, impidiendo sacar conclusiones más significativas.

Un aumento adicional en el rango surge de la solución de áreas que no toman la forma de un vector de intervalo. El conjunto solución del sistema lineal.

es precisamente la línea entre los puntos y el uso de métodos de intervalo da como resultado el cuadrado unitario, esto se conoce como efecto envolvente .

Sistemas de intervalos lineales

Un sistema de intervalos lineal consta de una extensión de intervalo de matriz y un vector de intervalo . Queremos el cuboide más pequeño , para todos los vectores con los que hay un par y que es satisfactorio.

.

Para sistemas cuadráticos, es decir, para , puede existir un vector de intervalo que cubra todas las soluciones posibles, que se encuentra simplemente con el método de intervalo de Gauss. Esto reemplaza las operaciones numéricas, en el sentido de que el método de álgebra lineal conocido como eliminación gaussiana se convierte en su versión de intervalo. Sin embargo, dado que este método utiliza entidades de intervalo y repetidamente en el cálculo, puede producir resultados deficientes para algunos problemas. Por lo tanto, el uso del resultado de Gauss con valores de intervalo solo proporciona primeras estimaciones aproximadas, ya que aunque contiene todo el conjunto de soluciones, también tiene un área grande fuera de él.

Una solución aproximada a menudo puede mejorarse mediante una versión de intervalo del método de Gauss-Seidel . La motivación para esto es que la -ésima fila de la extensión del intervalo de la ecuación lineal.

puede ser determinado por la variable si se permite la división. Por tanto, es simultáneamente.

y .

Entonces ahora podemos reemplazar por

,

y así el vector por cada elemento. Dado que el procedimiento es más eficiente para una matriz diagonalmente dominante , en lugar del sistema, a menudo se puede intentar multiplicarlo por una matriz racional apropiada con la ecuación matricial resultante.

queda por resolver. Si se elige, por ejemplo, la matriz central , entonces es la extensión exterior de la matriz identidad.

Estos métodos sólo funcionan bien si la anchura de los intervalos que se producen son suficientemente pequeñas. Para intervalos más amplios, puede resultar útil utilizar un sistema lineal de intervalos en sistemas lineales equivalentes de números reales finitos (aunque grandes). Si todas las matrices son invertibles, es suficiente considerar todas las combinaciones posibles (superior e inferior) de los puntos finales que ocurren en los intervalos. Los problemas resultantes se pueden resolver utilizando métodos numéricos convencionales. La aritmética de intervalos todavía se utiliza para determinar errores de redondeo.

Esto sólo es adecuado para sistemas de menor dimensión, ya que con una matriz completamente ocupada, es necesario invertir las matrices reales, con vectores para el lado derecho. Este enfoque fue desarrollado por Jiri Rohn y aún se está desarrollando. [4]

Método de intervalo de Newton

Reducción del área de búsqueda en el intervalo de paso de Newton en funciones "gruesas".

A partir de la extensión del valor medio se puede derivar una variante de intervalo del método de Newton para encontrar los ceros en un vector de intervalo . [5] Para un vector desconocido aplicado a , da.

.

Para un cero , es decir , y por tanto, debe satisfacer.

.

Esto equivale a . Se puede determinar una estimación externa de utilizando métodos lineales.

En cada paso del método de intervalo de Newton, se reemplaza un valor inicial aproximado por y así se puede mejorar el resultado. A diferencia de los métodos tradicionales, el método de intervalo se aproxima al resultado conteniendo ceros. Esto garantiza que el resultado produzca todos ceros en el rango inicial. Por el contrario, demuestra que no había ceros en el rango inicial si un paso de Newton produce el conjunto vacío.

El método converge en todos los ceros en la región inicial. La división por cero puede conducir a la separación de ceros distintos, aunque la separación puede no ser completa; se puede complementar con el método de bisección.

Como ejemplo, considere la función , el rango inicial y el punto . Entonces tenemos y damos el primer paso de Newton.

.

Se utilizan más pasos de Newton por separado en y . Estos convergen a intervalos arbitrariamente pequeños alrededor y .

El método de intervalo de Newton también se puede utilizar con funciones gruesas como , que en cualquier caso tendrían resultados de intervalo. El resultado produce entonces intervalos que contienen .

Bisección y cubiertas.

Estimación aproximada (turquesa) y estimaciones mejoradas mediante "picado" (rojo)

Los distintos métodos de intervalo ofrecen resultados conservadores ya que no se tienen en cuenta las dependencias entre los tamaños de diferentes extensiones de intervalo. Sin embargo, el problema de la dependencia se vuelve menos significativo en intervalos más estrechos.

Cubrir un vector de intervalo con cajas más pequeñas para que

entonces es válido para el rango de valores.

Entonces, para las extensiones de intervalo descritas anteriormente se cumple lo siguiente:

Dado que suele ser un superconjunto genuino del lado derecho, esto suele conducir a una estimación mejorada.

Una cobertura de este tipo se puede generar mediante el método de bisección, como elementos gruesos del vector de intervalo , dividiéndolos por el centro en dos intervalos y, si el resultado aún no es adecuado, entonces es posible una subdivisión gradual adicional. Una cobertura de intervalos resulta de divisiones de elementos vectoriales, lo que aumenta sustancialmente los costos de cálculo.

Con intervalos muy amplios, puede resultar útil dividir todos los intervalos en varios subintervalos con un ancho constante (y más pequeño), un método conocido como picado . Esto evita entonces los cálculos para pasos de bisección intermedios. Ambos métodos sólo son adecuados para problemas de baja dimensión.

Solicitud

La aritmética de intervalos se puede utilizar en diversas áreas (como inversión de conjuntos , planificación de movimiento , estimación de conjuntos o análisis de estabilidad) para tratar estimaciones sin un valor numérico exacto. [6]

Análisis de errores de redondeo

La aritmética de intervalos se utiliza con el análisis de errores para controlar los errores de redondeo que surgen de cada cálculo. La ventaja de la aritmética de intervalos es que después de cada operación hay un intervalo que incluye de forma fiable el resultado verdadero. La distancia entre los límites del intervalo proporciona directamente el cálculo actual de los errores de redondeo:

Error = para un intervalo dado .

El análisis de intervalos complementa, en lugar de sustituir, los métodos tradicionales para la reducción de errores, como el pivoting .

Análisis de tolerancia

Durante la simulación de procesos técnicos y físicos surgen a menudo parámetros para los que no se pueden asignar cifras exactas. El proceso de producción de componentes técnicos permite ciertas tolerancias, por lo que algunos parámetros fluctúan dentro de ciertos intervalos. Además, muchas constantes fundamentales no se conocen con precisión. [1]

Si el comportamiento de dicho sistema afectado por tolerancias satisface, por ejemplo, , para y desconocido entonces el conjunto de posibles soluciones.

,

se puede encontrar mediante métodos de intervalo. Esto proporciona una alternativa a la propagación tradicional del análisis de errores. A diferencia de los métodos puntuales, como la simulación de Monte Carlo , la metodología aritmética de intervalos garantiza que no se pueda pasar por alto ninguna parte del área de solución. Sin embargo, el resultado es siempre un análisis del peor de los casos para la distribución del error, ya que no se consideran otras distribuciones basadas en probabilidad.

Aritmética de intervalos difusos

Aproximación de la distribución normal mediante una secuencia de intervalos.

La aritmética de intervalos también se puede utilizar con funciones de afiliación para cantidades difusas, tal como se utilizan en la lógica difusa . Además de las declaraciones estrictas y , también son posibles valores intermedios a los que se asignan números reales. corresponde a la membresía definitiva mientras que es la de no membresía. Una función de distribución asigna incertidumbre, que puede entenderse como un intervalo adicional.

Para la aritmética difusa [7] sólo se considera un número finito de etapas de afiliación discretas . La forma de dicha distribución para un valor indistinto puede representarse entonces mediante una secuencia de intervalos.

El intervalo corresponde exactamente al rango de fluctuación de la etapa.

La distribución adecuada para una función relativa a valores indistintos y las secuencias correspondientes.

puede ser aproximado por la secuencia.

dónde

y se puede calcular mediante métodos de intervalo. El valor corresponde al resultado de un cálculo de intervalo.

Prueba asistida por computadora

Warwick Tucker utilizó la aritmética de intervalos para resolver el 14º de los problemas de Smale , es decir, para demostrar que el atractor de Lorenz es un atractor extraño . [8] Thomas Hales utilizó la aritmética de intervalos para resolver la conjetura de Kepler .

Historia

La aritmética de intervalos no es un fenómeno completamente nuevo en matemáticas; ha aparecido varias veces con diferentes nombres a lo largo de la historia. Por ejemplo, Arquímedes calculó los límites inferior y superior 223/71 < π < 22/7 en el siglo III a.C. El cálculo real con intervalos no ha sido tan popular como otras técnicas numéricas ni ha sido completamente olvidado.

Las reglas para calcular con intervalos y otros subconjuntos de números reales se publicaron en una obra de 1931 de Rosalind Cicely Young. [9] El trabajo aritmético sobre números de rango para mejorar la confiabilidad de los sistemas digitales se publicó en un libro de texto de 1951 sobre álgebra lineal de Paul S. Dwyer  [de] ; [10] se utilizaron intervalos para medir errores de redondeo asociados con números de punto flotante. Teruo Sunaga (1958) publicó un artículo completo sobre álgebra de intervalos en análisis numérico. [11]

El nacimiento de la aritmética de intervalos moderna estuvo marcado por la aparición del libro Análisis de intervalos de Ramon E. Moore en 1966. [12] [13] Tuvo la idea en la primavera de 1958, y un año después publicó un artículo sobre la aritmética de intervalos por computadora. . [14] Su mérito fue que, a partir de un principio simple, proporcionó un método general para el análisis de errores automatizado, no solo errores resultantes del redondeo.

De forma independiente, en 1956, Mieczyslaw Warmus sugirió fórmulas para cálculos con intervalos, [15] aunque Moore encontró las primeras aplicaciones no triviales.

En los veinte años siguientes, grupos de investigadores alemanes llevaron a cabo trabajos pioneros en torno a Ulrich W. Kulisch [16] [17] y Götz Alefeld  [de] [18] en la Universidad de Karlsruhe y más tarde también en la Universidad Bergische de Wuppertal . Por ejemplo, Karl Nickel  [Delaware] exploró implementaciones más efectivas, mientras que los procedimientos de contención mejorados para el conjunto de soluciones de sistemas de ecuaciones se debieron a Arnold Neumaier, entre otros. En la década de 1960, Eldon R. Hansen se ocupó de extensiones de intervalos para ecuaciones lineales y luego realizó contribuciones cruciales a la optimización global, incluido lo que ahora se conoce como el método de Hansen, quizás el algoritmo de intervalos más utilizado. [5] Los métodos clásicos en esto a menudo tienen el problema de determinar el valor global más grande (o más pequeño), pero solo pueden encontrar un óptimo local y no pueden encontrar mejores valores; Helmut Ratschek y Jon George Rokne desarrollaron métodos de ramificación y vinculación , que hasta entonces sólo se habían aplicado a valores enteros, utilizando intervalos para proporcionar aplicaciones para valores continuos.

En 1988, Rudolf Lohner desarrolló un software basado en Fortran para soluciones confiables para problemas de valores iniciales utilizando ecuaciones diferenciales ordinarias . [19]

La revista Reliable Computing (originalmente Interval Computations ) se publica desde la década de 1990 y se dedica a la confiabilidad de los cálculos asistidos por computadora. Como editor principal, R. Baker Kearfott, además de su trabajo sobre optimización global, ha contribuido significativamente a la unificación de la notación y la terminología utilizadas en la aritmética de intervalos. [20]

En los últimos años, el trabajo del grupo de trabajo COPRIN del INRIA en Sophia Antipolis (Francia) se ha concentrado en particular en la estimación de preimágenes de funciones parametrizadas y en la teoría de control robusta. [21]

Implementaciones

Existen muchos paquetes de software que permiten el desarrollo de aplicaciones numéricas utilizando aritmética de intervalos. [22] Estos generalmente se proporcionan en forma de bibliotecas de programas. También hay compiladores de C++ y Fortran que manejan tipos de datos de intervalo y operaciones adecuadas como extensión del lenguaje, por lo que se admite directamente la aritmética de intervalos.

Desde 1967, en la Universidad de Karlsruhe se han desarrollado Extensiones para Computación Científica (XSC) para varios lenguajes de programación , como C++, Fortran y Pascal . [23] La primera plataforma fue un Zuse Z23 , para el cual se puso a disposición un nuevo tipo de datos de intervalo con operadores elementales apropiados. En 1976, siguió Pascal-SC , una variante de Pascal en un Zilog Z80 que hizo posible crear rutinas rápidas y complicadas para la verificación automática de resultados. Luego vino el ACRITH-XSC basado en Fortran 77 para la arquitectura System/370 (FORTRAN-SC), que luego fue entregado por IBM. A partir de 1991 se pudo producir código para compiladores de C con Pascal-XSC ; un año después, la biblioteca de clases C++ admitía C-XSC en muchos sistemas informáticos diferentes. En 1997, todas las variantes de XSC estuvieron disponibles bajo la Licencia Pública General GNU . A principios de 2000, bajo la dirección del grupo de trabajo de computación científica de la Universidad Bergische de Wuppertal, se lanzó C-XSC 2.0 para corresponder al estándar C++ mejorado.

En 1993 se creó otra biblioteca de clase C++ en la Universidad Tecnológica de Hamburgo llamada Profil/BIAS (Biblioteca de intervalos rápidos optimizada en tiempo de ejecución del programador, aritmética de intervalos básica), que hizo que las operaciones de intervalo habituales fueran más fáciles de usar. Destacó el uso eficiente del hardware, la portabilidad y la independencia de una presentación particular de intervalos.

La colección Boost de bibliotecas de C++ contiene una clase de plantilla para intervalos. Sus autores pretenden tener aritmética de intervalos en el lenguaje estándar C++. [24]

El lenguaje de programación Frink tiene una implementación de aritmética de intervalos que maneja números de precisión arbitraria . Los programas escritos en Frink pueden utilizar intervalos sin necesidad de reescribirlos ni recompilarlos.

GAOL [25] es otra biblioteca de aritmética de intervalos de C++ que es única porque ofrece operadores de intervalo relacionales utilizados en la programación de restricciones de intervalo .

La biblioteca Moore [26] es una implementación eficiente de la aritmética de intervalos en C++. Proporciona intervalos con puntos finales de precisión arbitraria y se basa en la característica de conceptos de C++ .

El lenguaje de programación Julia [27] tiene una implementación de aritmética de intervalos junto con características de alto nivel, como búsqueda de raíces (tanto para funciones reales como de valores complejos) y programación de restricciones de intervalo , a través del paquete ValidatedNumerics.jl. [28]

Además, los sistemas de álgebra informática, como FriCAS , Mathematica , Maple , Maxima (software) [29] y MuPAD , pueden manejar intervalos. Una extensión de Matlab , Intlab [30], se basa en rutinas BLAS , y Toolbox b4m crea una interfaz Profil/BIAS. [30] [31] Además, el software Euler Math Toolbox incluye una aritmética de intervalos.

Se escribió una biblioteca para el lenguaje funcional OCaml en lenguaje ensamblador y C. [32]

Estándar IEEE 1788

En junio de 2015 se aprobó un estándar para aritmética de intervalos, IEEE Std 1788-2015. [33] Hay dos implementaciones de referencia disponibles gratuitamente. [34] Estos han sido desarrollados por miembros del grupo de trabajo del estándar: la biblioteca libieeep1788 [35] para C++ y el paquete intervalo [36] para GNU Octave .

Un subconjunto mínimo del estándar, IEEE Std 1788.1-2017, fue aprobado en diciembre de 2017 y publicado en febrero de 2018. Debería ser más fácil de implementar y puede acelerar la producción de implementaciones. [37]

Conferencias y talleres

Cada año se celebran en el mundo varias conferencias o talleres internacionales. La conferencia principal probablemente sea SCAN (Simposio internacional sobre informática científica, aritmética informática y computación numérica verificada), pero también hay SWIM (Pequeño taller sobre métodos de intervalos), PPAM (Conferencia internacional sobre procesamiento paralelo y matemáticas aplicadas), REC (Conferencia internacional sobre procesamiento paralelo y matemáticas aplicadas). Taller sobre Computación de Ingeniería Confiable).

Ver también

Referencias

  1. ^ ab Dreyer, Alejandro (2003). Análisis de intervalos de circuitos analógicos con tolerancias de componentes . Aquisgrán, Alemania: Shaker Verlag . pag. 15.ISBN​ 3-8322-4555-3.
  2. ^ Aritmética de intervalos complejos y sus aplicaciones, Miodrag S. Petković , Ljiljana D. Petković, Wiley-VCH , 1998, ISBN 978-3-527-40134-5 
  3. ^ abcdef Hend Dawood (2011). Teorías de la aritmética de intervalos: fundamentos y aplicaciones matemáticas . Sarrebruck: Editorial académica LAP LAMBERT. ISBN 978-3-8465-0154-2
  4. ^ "Jiri Rohn, Lista de publicaciones". Archivado desde el original el 23 de noviembre de 2008 . Consultado el 26 de mayo de 2008 .
  5. ^ ab Walster, G. William; Hansen, EldonRobert (2004). Optimización global mediante análisis de intervalos (2ª ed.). Nueva York, Estados Unidos: Marcel Dekker. ISBN 0-8247-4059-9.
  6. ^ Jaulín, Luc; Kieffer, Michel; Didrit, Olivier; Walter, Eric (2001). Análisis de intervalos aplicado . Berlín: Springer. ISBN 1-85233-219-0.
  7. ^ Aplicación de la aritmética difusa para cuantificar los efectos de parámetros inciertos del modelo, Michael Hanss, Universidad de Stuttgart
  8. ^ Tucker, Warwick (1999). El atractor de Lorenz existe. Comptes Rendus de l'Académie des Sciences-Series I-Mathematics, 328(12), 1197-1202.
  9. ^ Joven, Rosalind Cicely (1931). El álgebra de cantidades multivaluadas. Mathematische Annalen, 104(1), 260-290. (NB. Candidato a doctorado en la Universidad de Cambridge ).
  10. ^ Dwyer, Paul Sumner (1951). Cálculos lineales. Oxford, Inglaterra: Wiley. ( Universidad de Michigan )
  11. ^ Sunaga, Teruo (1958). "Teoría del álgebra de intervalos y su aplicación al análisis numérico". Memorias RAAG (2): 29–46.
  12. ^ Moore, Ramón Edgar (1966). Análisis de intervalos . Englewood Cliff, Nueva Jersey, Estados Unidos: Prentice-Hall . ISBN 0-13-476853-1.
  13. ^ Nube, Michael J.; Moore, Ramón Edgar ; Kearfott, R. Baker (2009). Introducción al análisis de intervalos . Filadelfia: Sociedad de Matemáticas Industriales y Aplicadas (SIAM). ISBN 978-0-89871-669-6.
  14. ^ Hansen, Eldon Robert (13 de agosto de 2001). "Publicaciones relacionadas con el trabajo de intervalos tempranos de RE Moore". Prensa de la Universidad de Luisiana en Lafayette . Consultado el 29 de junio de 2015 .
  15. ^ Artículos preliminares sobre análisis de intervalos de Mieczyslaw Warmus Archivado el 18 de abril de 2008 en Wayback Machine.
  16. ^ Kulisch, Ulrich W. (1989). Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung (en alemán). Wiesbaden: Vieweg-Verlag . ISBN 3-528-08943-1.
  17. ^ Kulisch, Ulrich W. (1969). "Grundzüge der Intervallrechnung". En Laugwitz, Detlef (ed.). Jahrbuch Überblicke Mathematik (en alemán). vol. 2. Mannheim, Alemania: Bibliographisches Institut . págs. 51–98.
  18. ^ Alefeld, Götz [en alemán] ; Herzberger, Jürgen (1974). Einführung in die Intervallrechnung . Reihe Informatik (en alemán). vol. 12. Mannheim, Viena, Zúrich: BI-Wissenschaftsverlag . ISBN 3-411-01466-0.
  19. ^ Límites de ecuaciones diferenciales ordinarias de Rudolf Lohner Archivado el 11 de mayo de 2018 en Wayback Machine (en alemán)
  20. ^ Bibliografía de R. Baker Kearfott, Universidad de Luisiana en Lafayette
  21. ^ Película introductoria (mpeg) de los equipos COPRIN de INRIA , Sophia Antipolis
  22. ^ Software para cálculos de intervalos Archivado el 2 de marzo de 2006 en Wayback Machine recopilado por Vladik Kreinovich , Universidad de Texas en El Paso .
  23. ^ Historia de los idiomas XSC Archivado el 29 de septiembre de 2007 en la Wayback Machine.
  24. ^ Una propuesta para agregar aritmética de intervalos a la biblioteca estándar de C++
  25. ^ La cárcel no es sólo otra biblioteca de aritmética de intervalos
  26. ^ Moore: aritmética de intervalos en C ++ moderno
  27. ^ El lenguaje de programación Julia
  28. ^ ValidatedNumerics.jl
  29. ^ [1] Aritmética de intervalos para máximos: un breve resumen de Richard J. Fateman.]
  30. ^ ab "Laboratorio de Interval Intlab" . Archivado desde el original el 30 de enero de 2020 . Consultado el 7 de noviembre de 2012 .
  31. ^ b4m
  32. ^ Alliot, Jean-Marc; Gotteland, Jean-Baptiste; Vanaret, Charlie; Durand, Nicolás; Gianazza, David (2012). Implementación de una biblioteca de cálculo de intervalos para OCaml en arquitecturas x86/amd64. XVII Congreso Internacional ACM SIGPLAN sobre Programación Funcional.
  33. ^ Estándar IEEE para aritmética de intervalos
  34. ^ Nathalie Revol (2015). El futuro (cercano) estándar IEEE 1788 para aritmética de intervalos, diapositivas // SWIM 2015: 8º pequeño taller sobre métodos de intervalos. Praga, 9 a 11 de junio de 2015
  35. ^ Implementación en C++ del estándar preliminar IEEE P1788 para aritmética de intervalos
  36. ^ Paquete de intervalo de octava GNU
  37. ^ "IEEE Std 1788.1-2017 - Estándar IEEE para aritmética de intervalos (simplificado)". Estándar IEEE . Asociación de Estándares IEEE. 2017. Archivado desde el original el 7 de febrero de 2018 . Consultado el 6 de febrero de 2018 .

Otras lecturas

enlaces externos