El pivote o elemento pivote es el elemento de una matriz o un arreglo que se selecciona primero mediante un algoritmo (por ejemplo, eliminación gaussiana , algoritmo simplex , etc.) para realizar ciertos cálculos. En el caso de los algoritmos matriciales, normalmente se requiere que una entrada pivote sea al menos distinta de cero y, a menudo, distante de él; en este caso, encontrar este elemento se llama pivoteo . El pivoteo puede ir seguido de un intercambio de filas o columnas para llevar el pivote a una posición fija y permitir que el algoritmo proceda con éxito y, posiblemente, para reducir el error de redondeo. A menudo se utiliza para verificar la forma escalonada de filas .
Se podría pensar en el pivoteo como el intercambio u ordenamiento de filas o columnas en una matriz y, por lo tanto, se puede representar como una multiplicación por matrices de permutación . Sin embargo, los algoritmos rara vez mueven los elementos de la matriz porque esto consumiría demasiado tiempo; en cambio, solo llevan un registro de las permutaciones.
En general, el pivoteo agrega más operaciones al costo computacional de un algoritmo. Estas operaciones adicionales a veces son necesarias para que el algoritmo funcione. Otras veces, estas operaciones adicionales valen la pena porque agregan estabilidad numérica al resultado final.
En el caso de la eliminación gaussiana, el algoritmo requiere que los elementos pivote no sean cero. Es necesario intercambiar filas o columnas en el caso de un elemento pivote cero. El sistema que se muestra a continuación requiere el intercambio de las filas 2 y 3 para realizar la eliminación.
El sistema que resulta del pivoteo es el siguiente y permitirá que el algoritmo de eliminación y sustitución hacia atrás arroje la solución al sistema.
Además, en la eliminación gaussiana, generalmente es deseable elegir un elemento pivote con un valor absoluto grande . Esto mejora la estabilidad numérica . El siguiente sistema se ve afectado drásticamente por el error de redondeo cuando se realizan la eliminación gaussiana y la sustitución hacia atrás.
Este sistema tiene la solución exacta de x 1 = 10,00 y x 2 = 1,000, pero cuando se realiza el algoritmo de eliminación y la sustitución hacia atrás utilizando aritmética de cuatro dígitos, el pequeño valor de 11 hace que se propaguen pequeños errores de redondeo. El algoritmo sin pivoteo produce la aproximación de x 1 ≈ 9873,3 y x 2 ≈ 4. En este caso es deseable que intercambiemos las dos filas de modo que 21 esté en la posición de pivote .
Considerando este sistema, el algoritmo de eliminación y sustitución hacia atrás utilizando aritmética de cuatro dígitos produce los valores correctos x 1 = 10,00 y x 2 = 1,000.
En el pivoteo parcial , el algoritmo selecciona la entrada con el mayor valor absoluto de la columna de la matriz que se está considerando actualmente como el elemento pivote. Más específicamente, al reducir una matriz a la forma escalonada por filas, el pivoteo parcial intercambia las filas antes de la reducción de filas de la columna para hacer que el elemento pivote tenga el mayor valor absoluto en comparación con los elementos que se encuentran debajo en la misma columna. El pivoteo parcial generalmente es suficiente para reducir adecuadamente el error de redondeo.
Sin embargo, para ciertos sistemas y algoritmos, puede ser necesario un pivoteo completo (o pivoteo máximo) para lograr una precisión aceptable. El pivoteo completo intercambia filas y columnas para utilizar el elemento más grande (por valor absoluto) en la matriz como pivote. El pivoteo completo no suele ser necesario para garantizar la estabilidad numérica y, debido al costo adicional de buscar el elemento máximo, la mejora en la estabilidad numérica que proporciona normalmente se ve compensada por su eficiencia reducida para todas las matrices, excepto las más pequeñas. Por lo tanto, rara vez se utiliza. [1]
Otra estrategia, conocida como pivoteo de torre, también intercambia filas y columnas, pero solo garantiza que el pivote elegido sea simultáneamente la entrada más grande posible en su fila y la entrada más grande posible en su columna, en lugar de la más grande posible en toda la submatriz restante. [2] Cuando se implementa en computadoras en serie, esta estrategia tiene un costo esperado de solo aproximadamente tres veces el del pivoteo parcial y, por lo tanto, es más económico que el pivoteo completo. Se ha demostrado que el pivoteo de torre es más estable que el pivoteo parcial tanto en teoría como en la práctica.
Una variación de la estrategia de pivoteo parcial es el pivoteo escalado. En este enfoque, el algoritmo selecciona como elemento pivote la entrada que es más grande en relación con las entradas en su fila. Esta estrategia es deseable cuando las grandes diferencias de magnitud de las entradas conducen a la propagación de un error de redondeo. El pivoteo escalado se debe utilizar en un sistema como el que se muestra a continuación, donde las entradas de una fila varían mucho en magnitud. En el ejemplo siguiente, sería deseable intercambiar las dos filas porque el elemento pivote actual 30 es más grande que 5.291, pero es relativamente pequeño en comparación con las otras entradas en su fila. Sin intercambio de filas en este caso, los errores de redondeo se propagarán como en el ejemplo anterior.
Una posición pivote en una matriz, A, es una posición en la matriz que corresponde a un 1 que lidera la fila en la forma escalonada reducida de A. Dado que la forma escalonada reducida de A es única, las posiciones pivote se determinan de manera única y no dependen de si se realizan o no intercambios de filas en el proceso de reducción. Además, el pivote de una fila debe aparecer a la derecha del pivote en la fila anterior en forma escalonada .
Este artículo incorpora material de Pivoting on PlanetMath , que se encuentra bajo la licencia Creative Commons Attribution/Share-Alike License .