Saltar al contenido principal
LibreTexts Español

23.2: La base de un espacio vectorial

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

    %matplotlib inline
    import matplotlib.pylab as plt
    import numpy as np
    import sympy as sym
    from urllib.request import urlretrieve
    sym.init_printing(use_unicode=True)
    urlretrieve('https://raw.githubusercontent.com/colbrydi/jupytercheck/master/answercheck.py', 
                'answercheck.py');

    Dejar\(U\) ser un espacio vectorial con base\(B=\{u_1, \ldots, u_n\}\), y dejar\(u\) ser un vector adentro\(U\). Debido a que una base “abarca” el espacio vectorial, sabemos que existen escalares\(a_1, \ldots, a_n\) tales que:

    \[ u = a_1u_1 + \dots + a_nu_n \nonumber \]

    Dado que una base es un conjunto linealmente independiente de vectores, sabemos que los escalares\(a_1, \ldots, a_n\) son únicos.

    Los valores\(a_1, \ldots, a_n\) se llaman las coordenadas de\(u\) relativo a la base (\(B\)) y normalmente se escriben como un vector de columna:

    \ [\ begin {split} u_b =
    \ left [
    \ begin {matrix}
    a_1\\
    \ vdots\\
    a_n
    \ end {matrix}
    \ right]
    \ end {split}\ nonumber\]

    Podemos crear una matriz de transición\(P\) usando la inversa de la matriz con los vectores base siendo columnas.

    \[P = [ u_1 \ldots u_n ]^{-1} \nonumber \]

    Ahora vamos a mostrar que la matriz\(P\) hará la transición del vector\(u\) en el sistema de coordenadas estándar a las coordenadas relativas a la base\(B\):

    \[ u_B = Pu \nonumber \]

    EJEMPLO: Considere el vector\(u = \left[ \begin{matrix} 5 \\ 3 \end{matrix} \right]\) y los vectores base\(B=\{(1,2),(3,−1)\}\). El siguiente código calcula la matriz de\(P\) transición de\(B\) y luego usa\(P\) para calcular los valores de\(u_B\) (\(a_1\)y\(a_2\)):

    u = np.matrix([[5],[3]])
    sym.Matrix(u)
    B = np.matrix([[1,2],[3,-1]]).T
    sym.Matrix(B)
    P = np.linalg.inv(B)
    ub = P*u
    
    sym.Matrix(ub)

    Aquí nos gustaría ver esto desde\(R^n\). Vamos\(B = [u_1 \ldots u_n]\), entonces los valores de se\(u_B\) pueden encontrar resolviendo el sistema lineal\(u = Bu_{b}\). Las columnas de\(B\) son una base, por lo tanto, la matriz\(B\) es una matriz\(n \times n\) cuadrada y tiene una inversa. Por lo tanto, podemos resolver el sistema lineal y obtener\(u_B = B^{-1}u = Pu\).

    Intentemos visualizar esto con una trama:

    ax = plt.axes();
    
    
    #Blue arrow representing first Basis Vector
    ax.arrow(0, 0, B[0,0],B[1,0], head_width=.2, head_length=.2, fc='blue', ec='blue');
    
    
    #Green arrow representing Second Basis Vector
    plt.plot([0,B[0,1]],[0,B[1,1]],color='green'); #Need this line to make the figure work. Not sure why.
    ax.arrow(0, 0, B[0,1],B[1,1], head_width=.2, head_length=.2, fc='green', ec='green');
    
    #Original point u as a red dot
    ax.scatter(u[0,0],u[1,0], color='red');
    
    plt.show()
    #plt.axis('equal');

    Observe que la flecha azul representa el primer vector base y la flecha verde es el segundo vector base en\(B\). La solución a\(u_B\) muestra 2 unidades a lo largo del vector azul y 1 unidades a lo largo del vector verde, lo que nos coloca en el punto (5,3).

    Esto también se llama un cambio en los sistemas de coordenadas.

    Pregunta

    ¿Cuál es el vector de coordenadas de\(u\) relativo a la base dada\(B\) en\(R^3\)?

    \[u = (9,-3,21) \nonumber \]

    \[B = \{(2,0,-1), (0,1,3), (1,1,1)\} \nonumber \]

    Almacene esta coordenada en una variable ub para verificar:

    #Put your answer here
    from answercheck import checkanswer
    
    checkanswer.vector(ub,'f72f62c739096030e0074c4e1dfca159');

    Veamos más de cerca la matriz\(P\), ¿cuál es el significado de las columnas de la matriz\(P\)?

    Sabemos que\(P\) es lo inverso de\(B\), por lo tanto, tenemos\(BP = I\). Entonces podemos mirar la primera columna de la\(P\), digamos\(p_{1}\), tenemos que\(Bp_{1}\) es el vector de columna\((1,0,0)\), que es exactamente el primer componente de la base estándar. Esto es cierto para otras columnas.

    Significa que si queremos cambiar una base antigua\(B\) a una nueva base\(B′\), necesitamos averiguar todas las coordenadas en la nueva base para la base antigua, y la matriz de transición es poniendo todas las coordenadas como columnas.

    Aquí está la matriz\(B\) otra vez:

    B = np.matrix([[2,0,-1],[0,1,3],[1,1,1]]).T
    sym.Matrix(B)

    La primera columna de P debe ser la solución a\(Bx=\left[ \begin{matrix} 1 \\ 0 \\ 0 \end{matrix} \right]\). Podemos usar la función numpy.linalg.solve para encontrar esta solución:

    # The first column of P should be 
    u1 = np.matrix([1,0,0]).T
    p1 = np.linalg.solve(B,u1)
    p1

    Podemos encontrar una respuesta similar para columnas\(p_2\) y\(p_3\):

    # The second column of P should be 
    u2 = np.matrix([0,1,0]).T
    p2 = np.linalg.solve(B,u2)
    p2
    # The third column of P should be 
    u3 = np.matrix([0,0,1]).T
    p3 = np.linalg.solve(B,u3)
    p3
    # concatenate three column together into a 3x3 matrix
    P = np.concatenate((p1, p2, p3), axis=1)
    sym.Matrix(P)
    # Find the new coordinate in the new basis
    u = np.matrix([9,-3,21]).T
    UB = P*u
    print(UB)

    Esta debería ser básicamente la misma respuesta que obtuviste arriba.


    This page titled 23.2: La base de un espacio vectorial 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.