Saltar al contenido principal
LibreTexts Español

17.3: Una interpretación de los determinantes

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

    A continuación se presenta una aplicación de determinantes. ¡Mira esto!

    from IPython.display import YouTubeVideo
    YouTubeVideo("Ip3X9LOh2dk",width=640,height=360, cc_load_policy=True)

    Por diversión, recrearemos algunas de las visualizaciones del video en Python. Fue un poco complicado obtener las relaciones de aspecto correctas pero aquí hay algún código que logré que funcione.

    %matplotlib inline
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection
    import numpy as np
    import sympy as sym
    # Lets define somme points that form a Unit Cube
    points = np.array([[0, 0, 0],
                      [1, 0, 0 ],
                      [1, 1, 0],
                      [0, 1, 0],
                      [0, 0, 1],
                      [1, 0, 1 ],
                      [1, 1, 1],
                      [0, 1, 1]])
    
    points = np.matrix(points)
    #Here is some code to build cube from https://stackoverflow.com/questions/44881885/python-draw-3d-cube
    
    def plot3dcube(Z):
        
        if type(Z) == np.matrix:
            Z = np.asarray(Z)
    
        fig = plt.figure()
        ax = fig.add_subplot(111, projection='3d')
    
        r = [-1,1]
    
        X, Y = np.meshgrid(r, r)
        # plot vertices
        ax.scatter3D(Z[:, 0], Z[:, 1], Z[:, 2])
    
        # list of sides' polygons of figure
        verts = [[Z[0],Z[1],Z[2],Z[3]],
         [Z[4],Z[5],Z[6],Z[7]], 
         [Z[0],Z[1],Z[5],Z[4]], 
         [Z[2],Z[3],Z[7],Z[6]], 
         [Z[1],Z[2],Z[6],Z[5]],
         [Z[4],Z[7],Z[3],Z[0]], 
         [Z[2],Z[3],Z[7],Z[6]]]
    
        #alpha transparency was't working found fix here: 
        # https://stackoverflow.com/questions/23403293/3d-surface-not-transparent-inspite-of-setting-alpha
        # plot sides
        ax.add_collection3d(Poly3DCollection(verts, 
         facecolors=(0,0,1,0.25), linewidths=1, edgecolors='r'))
        
        ax.set_xlabel('X')
        ax.set_ylabel('Y')
        ax.set_zlabel('Z')
        
        ## Weird trick to get the axpect ratio to work.
        ## From https://stackoverflow.com/questions/13685386/matplotlib-equal-unit-length-with-equal-aspect-ratio-z-axis-is-not-equal-to
        mx = np.amax(Z, axis=0)
        mn = np.amin(Z, axis=0)
        max_range = mx-mn
    
        # Create cubic bounding box to simulate equal aspect ratio
        Xb = 0.5*max_range.max()*np.mgrid[-1:2:2,-1:2:2,-1:2:2][0].flatten() + 0.5*(max_range[0])
        Yb = 0.5*max_range.max()*np.mgrid[-1:2:2,-1:2:2,-1:2:2][1].flatten() + 0.5*(max_range[1])
        Zb = 0.5*max_range.max()*np.mgrid[-1:2:2,-1:2:2,-1:2:2][2].flatten() + 0.5*(max_range[2])
        # Comment or uncomment following both lines to test the fake bounding box:
        for xb, yb, zb in zip(Xb, Yb, Zb):
            ax.plot([xb], [yb], [zb], 'w')
    
        plt.show()
    plot3dcube(points)
    Pregunta

    El siguiente\(3 \times 3\) se mostró en el video (alrededor de 6'50”). Aplica esta matriz al cubo unitario y usa el plot3dcube para mostrar los puntos transformados resultantes.

    T = np.matrix([[1 , 0 ,  0.5],
                   [0.5 ,1 ,1.5],
                   [1 , 0 ,  1]])
    
    #Put the answer to the above question here. 
    Pregunta

    El determinante representa cómo cambia el área al aplicar una\(2 \times 2 \) transformación. ¿Qué representa el determinante para una\(3 \times 3\) transformación?


    This page titled 17.3: Una interpretación de los determinantes 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.