stringtranslate.com

Representación matricial

Ilustración del orden principal de filas y columnas

La representación matricial es un método utilizado por un lenguaje informático para almacenar matrices columna-vector de más de una dimensión en la memoria . Fortran y C utilizan esquemas diferentes para sus matrices nativas. Fortran utiliza "Columna Mayor" ( AoS ), en la que todos los elementos de una columna determinada se almacenan de forma contigua en la memoria. C utiliza "Fila principal" (SoA), que almacena todos los elementos de una fila determinada de forma contigua en la memoria. LAPACK define varias representaciones matriciales en la memoria. También existe una representación matricial dispersa y una representación matricial de orden de Morton . Según la documentación, en LAPACK la representación matricial unitaria está optimizada. [1] [2] Algunos lenguajes como Java almacenan matrices utilizando vectores de Iliffe . Estos son particularmente útiles para almacenar matrices irregulares . Las matrices son de primordial importancia en álgebra lineal .

Operaciones matemáticas básicas

Una matriz de orden m × n (leída como m por n) es un conjunto de números dispuestos en m filas yn columnas. Se pueden agregar matrices del mismo orden agregando los elementos correspondientes. Se pueden multiplicar dos matrices, con la condición de que el número de columnas de la primera matriz sea igual al número de filas de la segunda matriz. Por lo tanto, si una matriz m × n se multiplica por una matriz n × r, entonces la matriz resultante será del orden m × r. [3]

Operaciones como operaciones de fila o de columna se pueden realizar en una matriz, mediante las cuales podemos obtener la inversa de una matriz. Lo inverso se puede obtener determinando también el adjunto. [3] filas y columnas son las diferentes clases de matrices

En gráficos 3D

La elección de la representación para matrices 4×4 comúnmente utilizadas en gráficos 3D afecta la implementación de operaciones matriciales/vectoriales en sistemas con instrucciones SIMD empaquetadas :

Fila mayor (SoA)

Con el orden de la matriz por filas principales, es fácil transformar vectores utilizando operaciones de producto escalar , ya que los coeficientes de cada componente son secuenciales en la memoria. En consecuencia, este diseño puede ser deseable si un procesador admite operaciones de productos escalares de forma nativa. También es posible utilizar eficientemente una matriz de transformación afín '3×4' sin relleno ni permutaciones incómodas.

Columna mayor (AoS)

Con el orden de columna principal, se puede implementar una multiplicación de "matriz × vector" con operaciones de suma y multiplicación vectorizadas , si los componentes del vector se transmiten a cada carril SIMD . También es fácil acceder a los vectores base representados por una matriz de transformación como vectores de columna individuales, ya que son contiguos en la memoria.

Ver también

Referencias

  1. ^ "Representación de Matrices Ortogonales o Unitarias". Universidad de Texas en Austin . Consultado el 14 de septiembre de 2011 .
  2. ^ Lehoucq, R. (1996). "El cálculo de matrices unitarias elementales". Transacciones ACM sobre software matemático . 22 (4): 393–400. doi :10.1145/235815.235817. hdl : 1911/101830 .
  3. ^ ab Ramana, BV (2008). Matemáticas de Ingeniería Superior . Nueva Delhi: Tata McGraw-Hill. ISBN 978-0-07-063419-0.

Enlaces externos