Número de condición

Compartir Imprimir Citar
Medición de la sensibilidad de una función al cambio de entrada o error

En el análisis numérico, el estado de una función mide cuánto el valor de salida de la función puede cambiar para un pequeño cambio en el argumento de entrada. Esto se utiliza para medir cuán sensible es una función a los cambios o errores en la entrada, y cuánto error en la salida resulta de un error en la entrada. Muy a menudo, uno está resolviendo el problema inverso: dado f()x)=Sí.,{displaystyle f(x)=y,} uno está resolviendo para x, y por lo tanto el número de condición del inverso (local) debe ser utilizado. En regresión lineal, el número de condición de la matriz de momento se puede utilizar como un diagnóstico para la multicollinearidad.

El número de condición es una aplicación de la derivada y se define formalmente como el valor del cambio relativo asintótico en el peor de los casos en la salida para un cambio relativo en la entrada. La "función" es la solución de un problema y los "argumentos" son los datos del problema. El número de condición se aplica con frecuencia a preguntas de álgebra lineal, en cuyo caso la derivada es sencilla pero el error podría estar en muchas direcciones diferentes y, por lo tanto, se calcula a partir de la geometría de la matriz. De manera más general, los números de condición se pueden definir para funciones no lineales en varias variables.

Un problema con un número de condición bajo se dice que está bien condicionado, mientras que un problema con un número de condición alto se dice que está mal condicionado. En términos no matemáticos, un problema mal condicionado es aquel en el que, por un pequeño cambio en las entradas (las variables independientes), hay un gran cambio en la respuesta o variable dependiente. Esto significa que la solución/respuesta correcta a la ecuación se vuelve difícil de encontrar. El número de condición es una propiedad del problema. Junto con el problema hay una serie de algoritmos que se pueden usar para resolver el problema, es decir, para calcular la solución. Algunos algoritmos tienen una propiedad llamada estabilidad hacia atrás; en general, se puede esperar que un algoritmo estable hacia atrás resuelva con precisión problemas bien condicionados. Los libros de texto de análisis numérico dan fórmulas para los números de condición de los problemas e identifican algoritmos estables hacia atrás conocidos.

Como regla de pulgar, si el número de condición κ κ ()A)=10k{displaystyle kappa (A)=10^{k}Entonces puedes perder hasta k{displaystyle k} dígitos de precisión sobre lo que se perdería al método numérico debido a la pérdida de precisión de los métodos aritméticos. Sin embargo, el número de condición no da el valor exacto de la máxima inexactitud que puede ocurrir en el algoritmo. Por lo general se limita con una estimación (cuyo valor calculado depende de la elección de la norma para medir la inexactitud).

Definición general en el contexto del análisis de errores

Dado un problema f{displaystyle f} y un algoritmo f~ ~ {displaystyle {f}} con una entrada x{displaystyle x} y producción f~ ~ ()x),{displaystyle {f}(x),} el error es δ δ f()x):=f()x)− − f~ ~ ()x),{displaystyle delta f(x):=f(x)-{tilde {f}(x),} el error absoluto es .. δ δ f()x).. =.f()x)− − f~ ~ ()x).{displaystylef}delta f(x)fnuncioleftf(x)-{tilde {f}(x)rightf} y el error relativo es .. δ δ f()x).. /.. f()x).. =.f()x)− − f~ ~ ()x)./.. f()x).. .{displaystyle sufrimientodelta f(x) sufrimiento/ sufrimientof(x) eterna=leftpersf(x)-{tilde {f}(x)rightspedaf(x) vivencia.}

En este contexto, el absoluto condición número de un problema f{displaystyle f} es

limε ε → → 0Sup.. δ δ x.. ≤ ≤ ε ε .. δ δ f()x).. .. δ δ x.. {displaystyle lim _{varepsilon rightarrow 0},sup _{ sufrimientodelta x sufrimiento,leq ,varepsilon }{frac {delta f(x) sufrimiento}{delta xhone}}}}}}}}

y el número de condición relativo es

limε ε → → 0Sup.. δ δ x.. ≤ ≤ ε ε .. δ δ f()x).. /.. f()x).. .. δ δ x.. /.. x.. .{displaystyle lim _{varepsilon rightarrow 0},sup _{ sufrimientodelta x sufrimiento,leq ,varepsilon }{frac {delta f(x) sufrimiento/ eternaf(x) sufrimiento}{delta xffh00fnMincipientef}}}

Matrices

Por ejemplo, el número de condición asociado con la ecuación lineal Ax = b da un límite de cuán imprecisa será la solución x después de la aproximación. Tenga en cuenta que esto es antes de que se tengan en cuenta los efectos del error de redondeo; el condicionamiento es una propiedad de la matriz, no del algoritmo o precisión de punto flotante de la computadora utilizada para resolver el sistema correspondiente. En particular, se debe pensar en el número de condición como (muy aproximadamente) la tasa a la que cambiará la solución x con respecto a un cambio en b. Por lo tanto, si el número de condición es grande, incluso un pequeño error en b puede causar un gran error en x. Por otro lado, si el número de condición es pequeño, entonces el error en x no será mucho mayor que el error en b.

El número de condición se define de manera más precisa como la proporción máxima del error relativo en x al error relativo en b.

Sea e el error en b. Asumiendo que A es una matriz no singular, el error en la solución A−1b es A −1e. La razón del error relativo en la solución al error relativo en b es

.A− − 1e..A− − 1b./.. e.. .. b.. =.A− − 1e... e.. .. b.. .A− − 1b..{displaystyle {frac {leftleftA^{-1}erightfn}{leftfonef}A^{-1}bright}}/{frac {fnMicrosoft} {fnMicrosoft}} {fnMicroc} {leftfn} {fnMicrosoft} {fnMicrosoft} {fnMicrosoft}} {fnMicrosoft}}} {fnMicrosoft Sans Serif}

El valor máximo (para b y e distintos de cero) se ve entonces como el producto de las dos normas de operadores de la siguiente manera:

maxe,bل ل 0{}.A− − 1e... e.. .. b.. .A− − 1b.}=maxeل ل 0{}.A− − 1e... e.. }maxbل ل 0{}.. b.. .A− − 1b.}=maxeل ل 0{}.A− − 1e... e.. }maxxل ل 0{}.. Ax.. .. x.. }=.A− − 1... A.. .{displaystyle {begin{aligned}max _{e,bneq 0}left{frac {leftbegin{-1}erightspe}{fxiefn}{fn}}{fracf}}}{m}}}}mfnMicroc {fnMicrosoft} {fnh}fnh}fnh}}derecho=máximo - ¿Por qué? - ¿Por qué?

La misma definición se usa para cualquier norma consistente, es decir, una que satisface

κ κ ()A)=.A− − 1..A.≥ ≥ .A− − 1A.=1.{displaystyle kappa (A)=leftfnA^{-1}derechafnMientras,leftfonederecha* "Izquierda"

Cuando el número de condición es exactamente uno (lo que solo puede suceder si A es un múltiplo escalar de una isometría lineal), entonces un algoritmo de solución puede encontrar (en principio, lo que significa que si el algoritmo no introduce errores propios) una aproximación de la solución cuya precisión no es peor que la de los datos.

Sin embargo, no significa que el algoritmo convergerá rápidamente a esta solución, solo que no divergirá arbitrariamente debido a la inexactitud de los datos de origen (error hacia atrás), siempre que el error hacia adelante introducido por el algoritmo no diverja. también por la acumulación de errores de redondeo intermedios.

El número de condición también puede ser infinito, pero esto implica que el problema está mal planteado (no posee una solución única y bien definida para cada elección de datos; es decir, la matriz no es invertible), y no Se puede esperar que el algoritmo encuentre una solución confiable.

La definición del número de condición depende de la elección de la norma, como se puede ilustrar con dos ejemplos.

Si .. ⋅ ⋅ .. {displaystylefncdotfn} es la norma matriz inducida por el (vector) Norma euclidiana (a veces conocida como la L2 norma y generalmente denotado .. ⋅ ⋅ .. 2{displaystyle {cdot}), entonces

κ κ ()A)=σ σ max()A)σ σ min()A),{displaystyle kappa (A)={frac {sigma _{text{max}(A)}{sigma _{text{min}}(A)}}}

Donde σ σ max()A){displaystyle sigma _{text{max}(A)} y σ σ min()A){displaystyle sigma _{ min}(A)} son valores máximos y mínimos singulares de A{displaystyle A} respectivamente. Por lo tanto:

El número de condición con respecto a L2 surge tan a menudo en el álgebra lineal numérica que se le da un nombre, el número de condición de una matriz.

Si .. ⋅ ⋅ .. {displaystylefncdotfn} es norma de matriz inducida por LJUEGO JUEGO {displaystyle L^{infty} (vector) norm y A{displaystyle A} es triangular inferior no-singular (es decir, aiiل ل 0{displaystyle a_{ii}neq 0} para todos i{displaystyle i}), entonces

κ κ ()A)≥ ≥ maxi()SilencioaiiSilencio)mini()SilencioaiiSilencio){fnMicrosoft Sans Serif} {máx _{i}{i}{big {big}{big}{big)}{min _{i}{big (}Principi}h)}}}}}}}}}}}}}}}}}

recordando que los valores propios de cualquier matriz triangular son simplemente las entradas diagonales.

El número de condición calculado con esta norma es generalmente mayor que el número de condición calculado en relación con la norma euclidiana, pero se puede evaluar más fácilmente (y este es a menudo el único número de condición calculable en la práctica, cuando el problema a resolver implica un álgebra no lineal, por ejemplo al aproximar funciones o números irracionales y trascendentales con métodos numéricos).

Si el número de condición no es significativamente mayor que uno, la matriz está bien condicionada, lo que significa que su inversa se puede calcular con buena precisión. Si el número de condición es muy grande, se dice que la matriz está mal condicionada. En la práctica, dicha matriz es casi singular y el cálculo de su inversa, o la solución de un sistema lineal de ecuaciones, es propenso a grandes errores numéricos. Una matriz que no es invertible tiene un número de condición igual a infinito.

No lineal

Los números de condición también se pueden definir para funciones no lineales y se pueden calcular mediante cálculo. El número de condición varía según el punto; en algunos casos, se puede usar el número de condición máximo (o supremo) sobre el dominio de la función o el dominio de la pregunta como un número de condición general, mientras que en otros casos, el número de condición en un punto particular es de mayor interés.

Una variable

El número de condición de una función diferente f{displaystyle f} en una variable como función Silencioxf./fSilencio{displaystyle left habitxf'/fright sometida}. Evaluado en un punto x{displaystyle x}, esto es

Silencioxf.()x)f()x)Silencio.{displaystyle left WordPress{frac {xf'(x)}}justo en la vida.}

Más elegantemente, esto se puede entender como (el valor absoluto de) la relación del derivado logarítmico de f{displaystyle f}, que es ()log⁡ ⁡ f).=f./f{displaystyle (log f)'=f'/f}, y el derivado logarítmico x{displaystyle x}, que es ()log⁡ ⁡ x).=x./x=1/x{displaystyle (log x)'=x'/x=1/x}, rendimiento de una relación xf./f{displaystyle xf'/f}. Esto se debe a que el derivado logarítmico es la tasa infinitesimal de cambio relativo en una función: es el derivativo f.{displaystyle f'} escalada por el valor f{displaystyle f}. Tenga en cuenta que si una función tiene un cero en un punto, su número de condición en el punto es infinito, ya que los cambios infinitesimal en la entrada pueden cambiar la salida de cero a positivo o negativo, dando una relación con cero en el denominador, por lo tanto el cambio relativo infinito.

Más directamente, dado un pequeño cambio Δ Δ x{displaystyle Delta x} dentro x{displaystyle x}, el cambio relativo en x{displaystyle x} es [()x+Δ Δ x)− − x]/x=()Δ Δ x)/x{displaystyle [(x+Delta x)-x]/x=(Delta x)/x}, mientras el cambio relativo en f()x){displaystyle f(x)} es [f()x+Δ Δ x)− − f()x)]/f()x){displaystyle [f(x+Delta x)-f(x)]/f(x)}. Tomando la relación rendimientos

[f()x+Δ Δ x)− − f()x)]/f()x)()Δ Δ x)/x=xf()x)f()x+Δ Δ x)− − f()x)()x+Δ Δ x)− − x=xf()x)f()x+Δ Δ x)− − f()x)Δ Δ x.{f}f} {f} {f}f} {f}f}f} {f}} {f}} {f}f} {x}} {f}} {f}f}f} {f}f}f}f} {f}f}f}f}f}}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f} {f} {f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f}f} Delta.

El último término es el cociente de diferencias (la pendiente de la línea secante), y al tomar el límite se obtiene la derivada.

Los números de condición de funciones elementales comunes son particularmente importantes en el cálculo de cifras significativas y pueden calcularse inmediatamente a partir de la derivada; ver significado aritmético de funciones trascendentales. Algunos importantes se dan a continuación:

NombreSignaturaEstado
Adición / restax+a{displaystyle x+a}Silencioxx+aSilencio{displaystyle lefttención{frac {x}{x+a} 'justo en la vida
Multiplicación de escalarax{displaystyle ax}1{displaystyle 1}
División1/x{displaystyle 1/x}1{displaystyle 1}
Polynomialxn{displaystyle x^{n}SilencionSilencio{displaystyle Silencioso
Función exponencialex{displaystyle e^{x}SilencioxSilencio{displaystyle Silencioso
Función de logaritmo naturalIn⁡ ⁡ ()x){displaystyle ln(x)}Silencio1In⁡ ⁡ ()x)Silencio{fnMicrosoft Sans Serif}derechoso
Función sinepecado⁡ ⁡ ()x){displaystyle sin(x)}Silencioxcot⁡ ⁡ ()x)Silencio{displaystyle Silencioxcot(x)
Función cosina#⁡ ⁡ ()x){displaystyle cos(x)}Silenciox#⁡ ⁡ ()x)Silencio{displaystyle Silencioxtan(x)
Función tangente#⁡ ⁡ ()x){displaystyle tan(x)}Silenciox()#⁡ ⁡ ()x)+cot⁡ ⁡ ()x))Silencio{displaystyle Silenciox(tan(x)+cot(x)
Función inversa del pecadoarcsin⁡ ⁡ ()x){displaystyle arcsin(x)}x1− − x2arcsin⁡ ⁡ ()x){displaystyle {frac {x}{sqrt {1-x^{2}arcsin(x)}}}
Función cosina inversaarccos⁡ ⁡ ()x){displaystyle arccos(x)}SilencioxSilencio1− − x2arccos⁡ ⁡ ()x){displaystyle {frac {fnMicrosoft Sans Serif}}}arccos(x)}}}
Función curvo inversaarctan⁡ ⁡ ()x){displaystyle arctan(x)}x()1+x2)arctan⁡ ⁡ ()x){displaystyle {frac {x}{(1+x^{2}arctan(x)}}}

Varias variables

Los números de condición se pueden definir para cualquier función f{displaystyle f} mapear sus datos de algún dominio (por ejemplo, un m{displaystyle m}- tropiezo de números reales x{displaystyle x}) en un codomain (por ejemplo, un n{displaystyle n}- tropiezo de números reales f()x){displaystyle f(x)}), donde tanto el dominio como el codomain son espacios de Banach. Expresan cuán sensible es esa función a pequeños cambios (o pequeños errores) en sus argumentos. Esto es crucial para evaluar las dificultades de sensibilidad y posible precisión de numerosos problemas computacionales, por ejemplo, hallazgos de raíz polinomio o valores de cálculo.

El número de condición f{displaystyle f} en un momento x{displaystyle x} (específicamente, su Estado relativo) se define entonces como la relación máxima del cambio fraccional en f()x){displaystyle f(x)} a cualquier cambio fraccional en x{displaystyle x}, en el límite donde el cambio δ δ x{displaystyle delta x} dentro x{displaystyle x} se hace infinitamente pequeño:

limε ε → → 0+Sup.. δ δ x.. ≤ ≤ ε ε [.f()x+δ δ x)− − f()x)... f()x).. /.. δ δ x.. .. x.. ],{displaystyle lim _{varepsilonto 0^{+}sup _{fncióndelta xfsistenteleq varepsilon }left[left.{frac {leftf(x+delta x)-f(x)rightfh00}{}derech}derech]

Donde .. ⋅ ⋅ .. {displaystylefncdotfn} es una norma en el dominio/codominio de f{displaystyle f}.

Si f{displaystyle f} es diferente, esto es equivalente a:

.. J()x).. .. f()x).. /.. x.. ,{displaystyle {frac {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif}}}

Donde J()x){displaystyle J(x)} denota la matriz Jacobiana de derivados parciales de f{displaystyle f} a x{displaystyle x}, y .. J()x).. {displaystyle ToddJ(x) es la norma inducida en la matriz.