Matrix representation

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the layout of matrices in the memory of computers. For the representation of groups and algebras by matrices in linear algebra, see representation theory.

Matrix representation is a method used by a computer language to store matrices of more than one dimension in memory. Fortran and C use different schemes. Fortran uses "Column Major", in which all the elements for a given column are stored contiguously in memory. C uses "Row Major", which stores all the elements for a given row contiguously in memory. LAPACK defines various matrix representations in memory. There is also Sparse matrix representation and Morton-order matrix representation. According to the documentation, in LAPACK the unitary matrix representation is optimized.[1] Some languages such as Java store matrices using Iliffe vectors. These are particularly useful for storing irregular matrices. Matrices are of primary importance in linear algebra.

Basic mathematical operations[edit]

An m × n (read as m by n) order matrix is a set of numbers arranged in m rows and n columns. Matrices of the same order can be added by adding the corresponding elements. Two matrices can be multiplied, the condition being that the number of columns of the first matrix is equal to the number of rows of the second matrix. Hence, if an m × n matrix is multiplied with an n × r matrix, then the resultant matrix will be of the order m × r.[2]

Operations like row operations or column operations can be performed on a matrix, using which we can obtain the inverse of a matrix. The inverse may be obtained by determining the adjoint as well.[2] rows and columns are the different classes of matrices

Basics of 2D array[edit]

The mathematical definition of a matrix finds applications in computing and database management, a basic starting point being the concept of arrays. A two-dimensional array can function exactly like a matrix. Two-dimensional arrays can be visualized as a table consisting of rows and columns.

  • int a[3][4], declares an integer array of 3 rows and 4 columns. Index of row will start from 0 and will go up to 2.
  • Similarly, index of column will start from 0 and will go up to 3.[3]
Column 0 Column 1 Column 2 Column 3
row 0 a[0][0] a[0][1] a[0][2] a[0][3]
row 1 a[1][0] a[1][1] a[1][2] a[1][3]
row 2 a[2][0] a[2][1] a[2][2] a[2][3]

This table shows arrangement of elements with their indices.

Initializing Two-Dimensional arrays: Two-Dimensional arrays may be initialized by providing a list of initial values.

int a[2][3] = {1,2,3,4,5,6,} or int a[2][3] = {{2,3,4}},{{4,4,5}};

Calculation of Address : An m x n matrix (a[1...m][1...n]) where the row index varies from 1 to m and column index from 1 to n,aij denotes the number in the ith row and the jth column. In the computer memory, all elements are stored linearly using contiguous addresses. Therefore,in order to store a two-dimensional matrix a, two dimensional address space must be mapped to one-dimensional address space.In the computer's memory matrices are stored in either Row-major order or Column-major order form.

See also[edit]


  1. ^ "Representation of Orthogonal or Unitary Matrices". University of Texas at Austin. Retrieved 14 September 2011. 
  2. ^ a b Ramana, B.V (2008). Higher Engineering Mathematics. New Delhi: Tata Mcgraw-Hill. ISBN 978-0-07-063419-0. 
  3. ^ Balagurusamy, E (2006). Programming in ANSI C. New Delhi: Tata McGraw-Hill. 

External links[edit]

^1 R. LEHOUCQ, The computation of elementary unitary matrices, Computer Science Dept. Technical Report CS-94-233, University of Tennessee, Knoxville, 1994. (LAPACK Working Note 72).