Articulo de referencia

Número de condición

En análisis numérico , el número de condición de una función mide cuánto puede cambiar el valor de salida de la función ante un pequeño cambio en el argumento de entrada. Esto s...

En análisis numérico , el número de condición de una función mide cuánto puede cambiar el valor de salida de la función ante un pequeño cambio en el argumento de entrada. Esto se utiliza para medir la sensibilidad de 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. Con mucha frecuencia, se resuelve el problema inverso: dadoF(incógnita)=y,{\displaystyle f(x)=y,}Se está resolviendo para x, y por lo tanto se debe usar el número de condición de la inversa (local). [ 1 ] [ 2 ]

El número de condición se deriva de la teoría de propagación de la incertidumbre y se define formalmente como el valor del cambio relativo asintótico en el peor caso de la salida ante 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 frecuentemente a cuestiones de álgebra lineal , en cuyo caso la derivada es directa, pero el error puede tener múltiples direcciones, por lo que se calcula a partir de la geometría de la matriz. De forma más general, los números de condición pueden definirse para funciones no lineales de varias variables.

Un problema con un número de condición bajo se considera bien condicionado , mientras que un problema con un número de condición alto se considera mal condicionado . En términos no matemáticos, un problema mal condicionado es aquel en el que, ante un pequeño cambio en las variables de entrada (las variables independientes ), se produce un gran cambio en la respuesta o variable dependiente . Esto significa que la solución correcta a la ecuación resulta difícil de encontrar. El número de condición es una propiedad del problema. Junto con el problema, existen diversos algoritmos que pueden utilizarse para resolverlo, es decir, para calcular la solución. Algunos algoritmos poseen una propiedad denominada estabilidad hacia atrás ; en general, se espera que un algoritmo con estabilidad hacia atrás resuelva con precisión los problemas bien condicionados. Los libros de texto de análisis numérico proporcionan fórmulas para los números de condición de los problemas e identifican algoritmos conocidos con estabilidad hacia atrás.

Como regla general, si el número de condiciónκ(A)=10k{\displaystyle \kappa (A)=10^{k}}, luego hastak{\displaystyle k}Se pueden perder dígitos de precisión además de los que se perderían en el método numérico debido a la pérdida de precisión de los métodos aritméticos. [ 3 ] Sin embargo, el número de condición no proporciona el valor exacto de la imprecisión máxima que puede ocurrir en el algoritmo. Generalmente, solo la acota con una estimación (cuyo valor calculado depende de la norma elegida para medir la imprecisión).

Matrices

Por ejemplo, el número de condición asociado a la ecuación lineal Ax  = b proporciona un límite a la imprecisión de la solución x tras la aproximación. Cabe destacar que esto se aplica antes de considerar los efectos del error de redondeo ; el condicionamiento es una propiedad de la matriz , no del algoritmo ni de la precisión de punto flotante del ordenador utilizado para resolver el sistema correspondiente. En particular, se puede considerar el número de condición como (aproximadamente) la tasa de cambio de 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 provocar un gran error en x . Por otro lado, si el número de condición es pequeño, el error en x no será mucho mayor que el error en b . 

El número de condición se define con mayor precisión como la razón máxima del error relativo en x con respecto al error relativo en b .

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

A1miA1b/mib=A1mimibA1b.{\displaystyle {\frac {\left\|A^{-1}e\right\|}{\left\|A^{-1}b\right\|}}/{\frac {\|e\|}{\|b\|}}={\frac {\left\|A^{-1}e\right\|}{\|e\|}}{\frac {\|b\|}{\left\|A^{-1}b\right\|}}.}

El valor máximo (para b y e distintos de cero ) se obtiene entonces como el producto de las normas de los dos operadores , como sigue:

máximomi,b0{A1mimibA1b}=máximomi0{A1mimi}máximob0{bA1b}=máximomi0{A1mimi}máximoincógnita0{Aincógnitaincógnita}=A1A.{\displaystyle {\begin{aligned}\max _{e,b\neq 0}\left\{{\frac {\left\|A^{-1}e\right\|}{\|e\|}}{\frac {\|b\|}{\left\|A^{-1}b\right\|}}\right\}&=\max _{e\neq 0}\left\{{\frac {\left\|A^{-1}e\right\|}{\|e\|}}\right\}\,\max _{b\neq 0}\left\{{\frac {\|b\|}{\left\|A^{-1}b\right\|}}\right\}\\&=\max _{e\neq 0}\left\{{\frac {\left\|A^{-1}e\right\|}{\|e\|}}\right\}\,\max _{x\neq 0}\left\{{\frac {\|Ax\|}{\|x\|}}\right\}\\&=\left\|A^{-1}\right\|\,\|A\|.\end{aligned}}}

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

κ(A)=A1AA1A=1.{\displaystyle \kappa (A)=\left\|A^{-1}\right\|\,\left\|A\right\|\geq \left\|A^{-1}A\right\|=1.}

Cuando el número de condición es exactamente uno (lo que solo puede ocurrir si A es un múltiplo escalar de una isometría lineal ), entonces un algoritmo de solución puede encontrar (en principio, es decir, 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, esto no significa que el algoritmo convergerá rápidamente a esta solución, sino simplemente que no divergirá arbitrariamente debido a imprecisiones en los datos de origen (error hacia atrás), siempre que el error hacia adelante introducido por el algoritmo no diverja también debido a 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 ningún algoritmo encuentre una solución de manera 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{\displaystyle \|\cdot \|}es la norma matricial inducida por la norma euclidiana (vectorial) (a veces conocida como norma L2 y típicamente denotada como2{\displaystyle \|\cdot \|_{2}}), entonces

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

dóndeσmáximo(A){\displaystyle \sigma _{\text{max}}(A)}yσmin(A){\displaystyle \sigma _{\text{min}}(A)}son valores singulares máximos y mínimos deA{\displaystyle A}respectivamente. Por lo tanto:

  • SiA{\displaystyle A}es normal , entoncesκ(A)=máximo{|λ(A)|}min{|λ(A)|},{\displaystyle \kappa (A)={\frac {\max\{\left|\lambda (A)\right|\}}{\min\{\left|\lambda (A)\right|\}}},}dóndeλmáximo(A){\displaystyle \lambda _{\text{max}}(A)}yλmin(A){\displaystyle \lambda _{\text{min}}(A)}son los valores propios máximos y mínimos (por módulos) deA{\displaystyle A}respectivamente.
  • SiA{\displaystyle A}es unitario , entoncesκ(A)=1.{\displaystyle \kappa (A)=1.}

El número de condición con respecto a L 2 aparece con tanta frecuencia en el álgebra lineal numérica que se le da un nombre: el número de condición de una matriz .

Si{\displaystyle \|\cdot \|}es la norma matricial inducida por la L{\displaystyle L^{\infty }}norma (vectorial) yA{\displaystyle A}es triangular inferior no singular (es decir,aii0{\displaystyle a_{ii}\neq 0}a pesar dei{\displaystyle i}), entonces

κ(A)máximoi(|aii|)mini(|aii|){\displaystyle \kappa (A)\geq {\frac {\max _{i}{\big (}|a_{ii}|{\big )}}{\min _{i}{\big (}|a_{ii}|{\big )}}}}

recordando que los valores propios de cualquier matriz triangular son simplemente los elementos de la diagonal.

El número de condición calculado con esta norma es generalmente mayor que el número de condición calculado con respecto a la norma euclidiana , pero se puede evaluar más fácilmente (y a menudo es el único número de condición que se puede calcular de forma 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, una matriz de este tipo es casi singular, y el cálculo de su inversa, o la solución de un sistema de ecuaciones lineales, es propenso a grandes errores numéricos.

Se suele decir que una matriz que no es invertible tiene un número de condición igual a infinito. Alternativamente, se puede definir comoκ(A)=AA{\displaystyle \kappa (A)=\|A\|\|A^{\dagger }\|}, dóndeA{\displaystyle A^{\dagger }}es la pseudoinversa de Moore-Penrose . Para matrices cuadradas, esto lamentablemente hace que el número de condición sea discontinuo, pero es una definición útil para matrices rectangulares, que nunca son invertibles pero que aún se utilizan para definir sistemas de ecuaciones.

No lineal

También se pueden definir números de condición para funciones no lineales, y se pueden calcular mediante cálculo diferencial . 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 del problema como número de condición global, mientras que en otros casos, el número de condición en un punto particular resulta de mayor interés.

Una variable

El número de condición absoluto de una función diferenciableF{\displaystyle f}En una variable se encuentra el valor absoluto de la derivada de la función:

|F(incógnita)|{\displaystyle \left|f'(x)\right|}

El número de condición relativo deF{\displaystyle f}como función es|incógnitaF/F|{\displaystyle \left|xf'/f\right|}Evaluado en un puntoincógnita{\displaystyle x}, esto es

|incógnitaF(incógnita)F(incógnita)|=|(registroF)(registroincógnita)|.{\displaystyle \left|{\frac {xf'(x)}{f(x)}}\right|=\left|{\frac {(\log f)'}{(\log x)'}}\right|.}

Tenga en cuenta que este es el valor absoluto de la elasticidad de una función en economía.

De la manera más elegante, esto puede entenderse como (el valor absoluto de) la razón de la derivada logarítmica deF{\displaystyle f}, que es(registroF)=F/F{\displaystyle (\log f)'=f'/f}y la derivada logarítmica deincógnita{\displaystyle x}, que es(registroincógnita)=incógnita/incógnita=1/incógnita{\displaystyle (\log x)'=x'/x=1/x}, lo que produce una relación deincógnitaF/F{\displaystyle xf'/f}Esto se debe a que la derivada logarítmica es la tasa infinitesimal de cambio relativo en una función: es la derivadaF{\displaystyle f'}escalado por el valor deF{\displaystyle f}Tenga en cuenta que si una función tiene un cero en un punto, su número de condición en ese punto es infinito, ya que cambios infinitesimales en la entrada pueden cambiar la salida de cero a positivo o negativo, lo que produce una razón con cero en el denominador, por lo tanto, un cambio relativo infinito.

Más directamente, dado un pequeño cambioΔincógnita{\displaystyle \Delta x}enincógnita{\displaystyle x}, el cambio relativo enincógnita{\displaystyle x}es[(incógnita+Δincógnita)incógnita]/incógnita=(Δincógnita)/incógnita{\displaystyle [(x+\Delta x)-x]/x=(\Delta x)/x}, mientras que el cambio relativo enF(incógnita){\displaystyle f(x)}es[F(incógnita+Δincógnita)F(incógnita)]/F(incógnita){\displaystyle [f(x+\Delta x)-f(x)]/f(x)}Tomando la proporción se obtiene

[F(incógnita+Δincógnita)F(incógnita)]/F(incógnita)(Δincógnita)/incógnita=incógnitaF(incógnita)F(incógnita+Δincógnita)F(incógnita)(incógnita+Δincógnita)incógnita=incógnitaF(incógnita)F(incógnita+Δincógnita)F(incógnita)Δincógnita.{\displaystyle {\frac {[f(x+\Delta x)-f(x)]/f(x)}{(\Delta x)/x}}={\frac {x}{f(x)}}{\frac {f(x+\Delta x)-f(x)}{(x+\Delta x)-x}}={\frac {x}{f(x)}}{\frac {f(x+\Delta x)-f(x)}{\Delta x}}.}

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

Los números de condición de las funciones elementales comunes son particularmente importantes para el cálculo de cifras significativas y pueden obtenerse directamente a partir de la derivada. A continuación se muestran algunos ejemplos importantes:

Varias variables

Se pueden definir números de condición para cualquier función.F{\displaystyle f}mapeando sus datos de algún dominio (por ejemplo, unmetro{\displaystyle m}-tupla de números realesincógnita{\displaystyle x}) en algún codominio (por ejemplo, unnorte{\displaystyle n}-tupla de números realesF(incógnita){\displaystyle f(x)}), donde tanto el dominio como el codominio 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 la sensibilidad y las posibles dificultades de precisión de numerosos problemas computacionales, por ejemplo, la búsqueda de raíces de polinomios o el cálculo de valores propios .

El número de condición deF{\displaystyle f}en un puntoincógnita{\displaystyle x}(específicamente, su número de condición relativo [ 4 ] ) se define entonces como la razón máxima del cambio fraccional enF(incógnita){\displaystyle f(x)}a cualquier cambio fraccional enincógnita{\displaystyle x}, en el límite donde el cambioδincógnita{\displaystyle \delta x}enincógnita{\displaystyle x}se vuelve infinitesimalmente pequeño: [ 4 ]

límiteε0+sorberδincógnitaε[F(incógnita+δincógnita)F(incógnita)F(incógnita)/δincógnitaincógnita],{\displaystyle \lim _{\varepsilon \to 0^{+}}\sup _{\|\delta x\|\leq \varepsilon }\left[\left.{\frac {\left\|f(x+\delta x)-f(x)\right\|}{\|f(x)\|}}\right/{\frac {\|\delta x\|}{\|x\|}}\right],}

dónde{\displaystyle \|\cdot \|}es una norma en el dominio/codominio deF{\displaystyle f}.

SiF{\displaystyle f}es diferenciable, esto es equivalente a: [ 4 ]

J(incógnita)F(incógnita)/incógnita,{\displaystyle {\frac {\|J(x)\|}{\|f(x)\|/\|x\|}},}

dondeJ(incógnita){\displaystyle J(x)} denota la matriz jacobiana de derivadas parciales deF{\displaystyle f}enincógnita{\displaystyle x}, yJ(incógnita){\displaystyle \|J(x)\|}es la norma inducida en la matriz.

Véase también

Referencias

  1. Belsley, David A.; Kuh, Edwin ; Welsch, Roy E. (1980). "El número de condición" . Diagnóstico de regresión: identificación de datos influyentes y fuentes de colinealidad . Nueva York: John Wiley & Sons. págs. 100–104 . ISBN  0-471-05856-4.
  2. Pesaran, M. Hashem (2015). «El problema de la multicolinealidad» . Econometría de series temporales y datos de panel . Nueva York: Oxford University Press. pp. 67–72 [p. 70]. ISBN  978-0-19-875998-0.
  3. Cheney; Kincaid (2008). Matemáticas numéricas e informática . Cengage Learning. pág. 321. ISBN  978-0-495-11475-8.
  4. ^ Trefethen , LN ; Bau, D. (1997). Álgebra lineal numérica . SIAM. ISBN 978-0-89871-361-9.

Lecturas adicionales

  • Demmel, James (1990). «Matrices defectuosas más cercanas y la geometría del mal condicionamiento». En Cox, MG; Hammarling, S. (eds.). Computación numérica fiable . Oxford: Clarendon Press. pp. 35–55 . ISBN  0-19-853564-3.
  • Ludwig, Oswaldo (2025). "El número de condición como un proxy invariante de escala para la codificación de información en unidades neuronales". arXiv : 2506.16289 [ stat.ML ].
  • Número de condición de una matriz en el Instituto de Métodos Numéricos Holísticos
  • Función de la biblioteca de MATLAB para determinar el número de condición.
  • Número de condición – Enciclopedia de Matemáticas
  • ¿Quién inventó el número de condición de Matrix? por Nick Higham