Saltar al contenido principal
LibreTexts Español

41.4: Sistemas indeterminados

  • Page ID
    115028
  • \( \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}}} \)

    import numpy as np
    import sympy as sym

    Cuando tenemos más incógnitas que ecuaciones, tenemos el sistema subdeterminado\(Ax=b\). En esta asignación, asumimos que la matriz\(A\) tiene rango de fila completa. Este sistema tiene infinitamente muchas soluciones, es decir, no podemos encontrar una única\(x\) tal que\(Ax=b\). Entonces queremos encontrar al más pequeño\(x\) (por más pequeño, nos referimos al más pequeño\(\|x\|^2\)) tal que\(Ax=b\), que también es el problema de mínimos cuadrados.

    En esta tarea, mostramos que también podemos resolverlo por QR decomposion.

    Considere el siguiente sistema de ecuaciones:

    \[\begin{split}\begin{bmatrix}5&-2&2 & 1 \\ 4 & -3 &4 &2 \\ 4& -6 &7 & 4\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\\x_4\end{bmatrix}=\begin{bmatrix}1\\2\\3\end{bmatrix}\end{split} \nonumber \]

    Hacer esto

    Resolvemos el problema de mínimos cuadrados en los siguientes pasos

    • Encuentra la descomposición QR de la matriz\(A^{\top}\) tal que\(R\) sea una matriz cuadrada superior triangular.
    • Utilice la función forward_subst definida a continuación para resolver\(x = Q (R^\top)^{-1}b\)
    A = np.matrix([[5, -2, 2, 1], [4, -3, 4, 2], [4,-6,7, 4]])
    b = np.matrix([[1],[2],[3]])
    display(sym.Matrix(A))
    display(sym.Matrix(b))
    def forward_subst(L,b):  # This function solves $L x= b$ when $L$ is the lower-trigular matrix
        n = L.shape[0]; x = np.zeros(n);
        for i in range(n):
            x[i] = b[i]
            for j in range(i):
                x[i] = x[i] - L[i,j]*x[j]  
            x[i] = x[i]/L[i,i]
        return np.matrix(x).T
    ## Your code starts ##
    x =  
    ## Your code ends ##
    print(type(x))   # x is a column vector in the np.matrix type
    print(x)

    No podemos usar el np.linalg.solve porque la matriz no\(A\) es una matriz cuadrada. Sin embargo, podemos usar la función np.linalg.lstsq para encontrar la solución de mínimos cuadrados para minimizar\(\|Ax-b\|^2\) con sistemas subdeterminados. La siguiente celda compara el resultado de lstsq y nuestro resultado de la descomposición QR. (Si todo es correcto, esperarás un resultado True.)

    np.allclose(x, np.linalg.lstsq(A,b)[0])
    Hacer esto

    Explique por qué podemos usar la descomposición QR para resolver el problema de mínimos cuadrados.

    (SUMINISTRO: es posible que necesite la descomposición orhogonal a los cuatro espacios fundamentales de\(Q\).)


    This page titled 41.4: Sistemas indeterminados is shared under a CC BY-NC 4.0 license and was authored, remixed, and/or curated by Dirk Colbry via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.