Visualización 3D de una matriz

Si temenos 3 vectores de 20 coordenadas cada uno, no dejan de ser vectores en un espacio de dimensión 3, pretendemos mostrarlos en 3D, para ello calculamos una base ortonormal  del espacio generado por los 3 vectores y las coordendas de los tres vectores en esa base ortonormal.

Vamos a ver como encontrar una base ortonormal de los tres vectores.

Sea B la matriz cuyas filas son los 3 vectores y M=B·Bt aplicaremos el método de esta página para calcular la base ortogonal, que consiste es hacer la transformación de Gauss a M , es decir, se multiplica M por una matriz cuadrada G que es nula por encima de la diagonal principal

GM es una matriz nula por debajo de la diagonal principal,

GB nos da con sus filas una base ortogonal:

GB=Og

Sea R la matriz cuya diagonal son los módulos de las filas de Og

GB= R On, siendo On una matriz ortonormal

Así 

B = G-1 R On,

y las filas de G-1R nos dan cada una las coordendas de las filas de B en una base ortonormal de B

También podemos observar que R2 es Og Ogt luego Podemos escribir

GB=ROn= R2 R-1 On = GMGt R-1 On

y por tanto

B=MGt R-1 On

MGt R-1 que coincide con G-1R nos dan las coordenadas de B en una base ortonormal.

En el siguiente programa se introduce una matriz con dos o tres vectores fila y se hacen estos cálculos

los vectores se pueden introducir por filas

como

1,2,3,4
1,1,1,1
5,4,3,0

o por columnas copiadas de una hoja de cálculo

1 1 5
2 1 0
3 1 3
4 1 1

estas dos entradas darán la misma matriz a estudiar
 

Introduce una matriz de hasta 4 filas y cualquier número de columnas (separadas por comas o tabuladores):



Matriz B:

Matriz M (B * BT):

Matriz (M ∣ Im ∣ B):

Proceso de eliminación Gaussiana:

(GM | G | GB), las filas de GB son base ortogonal de B

Matriz R, módulos de las filas de GB :

Matriz M * (GT) * R-1:

Matriz G-1 * R:

Estas filas son las coordenadas en base ortonormal de los vectores introducidos


Consolación Ruiz Gil Junio 2024

https://www.matsolin.com/grafica3vncoordenadas/index.htm

js realizado con chatGPT