In order to solve problems using mathematics we need to manipulate the data associated with the problems. The data is modeled using mathematical concepts such as vectors, matrices and tensors. It is possible to use just the mathematical concepts and solve problems using pen and paper but for bigger problems with larger data sets that method will become unwieldy and is error prone.

In computer sciences vectors, matrices and tensors fall into the category of data structures which are used to represent the data and the relationship between the data elements. These basic data structures encoded within a computer program encapsulate the data and then using algorithms within the software we can manipulate the data a lot more efficiently.

A vector is a one-dimensional sequence of elements. Some computer languages also call this an array or a list. The vector can either be a column vector or a row vector.

A matrix is a two-dimensional rectangular array of elements arranged as rows and columns.

A tensor is a multi-dimensional array of elements and is a generalized data structure that encompasses one-dimensional and two-dimensional arrays. So a vector is a one-dimensional (1D) tensor and a matrix is a two-dimensional (2D) tensor.

A three-dimensional (3D) tensor can be looked at as a set of matrices i.e., a set of two-dimensional (2D) tensors. A three-dimensional (3D) tensor can be visualized as a stack of two-dimensional (2D) tensors or a cube.

Tensors are used to encapsulate very complex higher-dimensional relationships that exist in the data set of a particular problem. Tensors are very handy in processing of color images.

Tensors can be processed by transforming them into matrices and then using algorithms for matrix processing. There are also techniques for decomposition and processing of tensors.