Saltar al contenido principal
LibreTexts Español

5.3: Pivotar

  • Page ID
    125107
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    En nuestra descripción del algoritmo de eliminación gaussiana hasta el momento, es posible que hayas notado un problema. Durante el proceso de reducción de filas, tenemos que multiplicar filas por un factor de\(A'_{mn}/A'_{nn}\) (donde\(\mathbf{A}'\) denota la matriz actual). Si\(A'_{nn}\) pasa a ser cero, el factor estalla, y el algoritmo falla.

    Para evitar esta dificultad, agregamos un paso extra al procedimiento de reducción de filas. A medida que avanzamos a través de los números de fila\(n = 0, 1, \cdots, N-1\), hacemos lo siguiente para cada uno\(n\):

    • Pivotante: busque a través de los elementos de la matriz sobre y por debajo del elemento diagonal en\((n,n)\), y encuentre la fila\(n'\) con el mayor valor de\(|A'_{n'n}|\). Después, intercambia fila\(n\) y fila\(n'\).
    • Continuar con el resto del algoritmo, eliminando los\(A'_{mn}\) elementos por debajo de la diagonal.

    Debería poder convencerse de que (i) el pivotamiento no altera la solución, y (ii) no altera el escalado en tiempo de ejecución de la fase de reducción de filas, que permanece\(O(N^3)\).

    Además de evitar que el algoritmo falle innecesariamente, pivotar mejora su estabilidad numérica. Si\(A'_{nn}\) es distinto de cero pero de magnitud muy pequeña, dividirlo por él producirá un resultado muy grande, lo que conlleva una pérdida de precisión numérica de punto flotante. Por lo tanto, es ventajoso intercambiar filas alrededor para asegurar que la magnitud de\(A'_{nn}\) sea lo más grande posible.

    Al intentar pivotar, puede suceder que todos los valores de\(|A'_{n'n}|\), sobre y por debajo de la diagonal, sean cero (o lo suficientemente cerca de cero dentro de nuestra tolerancia de punto flotante). Si esto sucede, indica que nuestra\(\mathbf{A}\) matriz original es singular, es decir, no tiene inversa. De ahí que el procedimiento pivotante tenga el beneficio adicional de ayudarnos a captar los casos en los que no hay una solución válida para el sistema de ecuaciones; en tales casos, el algoritmo de eliminación gaussiana debería abortar.

    5.3.1 Ejemplo

    Trabajemos a través de un ejemplo de eliminación gaussiana con pivotamiento, usando el problema en la sección anterior:

    \[\left[\begin{array}{ccc|cc} 1 & 2 & 3 & 3 & 6 \\ 3 & 2 & 2 & 4 & 8 \\ 2 & 6 & 2 & 4 & 2 \end{array}\right].\]

    La fase de reducción de filas es la siguiente:

    • (\(n=0\)): Pivote, intercambiando fila\(0\) y fila\(1\):
      \[\left[\begin{array}{ccc|cc} 3 & 2 & 2 & 4 & 8 \\ 1 & 2 & 3 & 3 & 6 \\ 2 & 6 & 2 & 4 & 2 \end{array}\right].\]
    • (\(n=0\)): Eliminar el elemento en\((1,0)\):
      \[\left[\begin{array}{ccc|cc} 3 & 2 & 2 & 4 & 8 \\ 0 & 4/3 & 7/3 & 5/3 & 10/3 \\ 2 & 6 & 2 & 4 & 2 \end{array}\right].\]
    • (\(n=0\)): Eliminar el elemento en\((2,0)\):
      \[\left[\begin{array}{ccc|cc} 3 & 2 & 2 & 4 & 8 \\ 0 & 4/3 & 7/3 & 5/3 & 10/3 \\ 0 & 14/3 & 2/3 & 4/3 & -10/3 \end{array}\right].\]
    • (\(n=1\)): Pivote, intercambiando fila\(1\) y fila\(2\):
      \[\left[\begin{array}{ccc|cc} 3 & 2 & 2 & 4 & 8 \\ 0 & 14/3 & 2/3 & 4/3 & -10/3 \\0 & 4/3 & 7/3 & 5/3 & 10/3 \end{array}\right].\]
    • (\(n=1\)): Eliminar el elemento en\((2,1)\):
      \[\left[\begin{array}{ccc|cc} 3 & 2 & 2 & 4 & 8 \\ 0 & 14/3 & 2/3 & 4/3 & -10/3 \\0 & 0 & 15/7 & 9/7 & 30/7 \end{array}\right].\]

    La fase de retrosustitución procede entonces como de costumbre. Puedes comprobar que da los mismos resultados que obtuvimos antes.


    This page titled 5.3: Pivotar is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Y. D. Chong via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.