Well, I've heard that a "cubic" matrix would exist and I thought: would it be like a magic cube? And more: does it even have a determinant - and other properties? I'm a young student, so... please don't get mad at me if I'm talking something stupid.

Thank you.

P.S. I'm 14 years old. I don't know that much about mathematics, but I swear I'll try to understand your answers. I just know the basics about PreCalculus.

J. M. ain't a mathematician
  • 71,951
  • 6
  • 191
  • 335
Ian Mateus
  • 7,071
  • 3
  • 29
  • 57
  • 45
    +1 for being inquisitive about mathematics, which no one should ever get mad at you for! This is a great question, and I'm sure that you will soon get many excellent answers. – Zev Chonoles Oct 16 '11 at 20:46
  • Are you thinking, roughly, of a three-dimensional thing like a matrix is a two-dimensional thing? – Mark Bennet Oct 16 '11 at 20:46
  • @ZevChonoles thank you so much! :) – Ian Mateus Oct 16 '11 at 20:49
  • First off, matrices show up starting around PreCalculus for some, and as late as Linear Algebra for others. What is your mathematical background? This will help us answer your question. You can edit your question if you wish (usually it's best not to delete anything, just ad "Edit: ....." lines at the bottom. – Rex Butler Oct 16 '11 at 20:51
  • It's a very rich question, and a very good one - and I hope there will be some people who will give the perspective from maths both pure and applied. I have a passing acquaintance with a number of concepts which others will pin down to the detail. – Mark Bennet Oct 16 '11 at 20:53
  • 11
    If you'd like to pursue this question further, I might suggest visiting the MO question, [Why are matrices ubiquitous but hypermatrices rare?](http://mathoverflow.net/questions/48045/), a question that received remarkably erudite answers. – Joseph O'Rourke Oct 16 '11 at 23:58
  • 1
    These can be quite common in computer science, though they're (often) used a bit differently in CS than mathematics, an n-dimensional array is often a good way to store related numbers. – Ben Brocka Oct 17 '11 at 13:11
  • @SirTapTap so, does someone can, in a hypothetical example, make a game like chess in a 3-dimensional version? It would be great, I think. – Ian Mateus Oct 17 '11 at 17:13
  • 1
    @IanMateus of course. In Computer Science and mathematics the dimensions of the array are arbitrary, you can technically set up 4 dimensional/ect "chess," by simply referring to coordinates, displaying that data in a sensible way becomes complicated at that point though, a 4-dimensional chess would basically be an array of 3-dimensional chess fields, similar to how 2D chess could be represented as an array of 1 dimensional chess fields (with the ability to move between them of course) – Ben Brocka Oct 17 '11 at 18:43
  • 4
    You managed to ask this question (many college students are clueless or indifferent about them in engineering) when you're 14, so you're not stupid. – stanigator Oct 17 '11 at 20:46
  • Some 2 x 2 x 2 x 2 hypermatrices have been used by Bhargava and Ho in "[Coregular spaces and genus one curves](https://www.intlpress.com/site/pub/files/_fulltext/journals/cjm/2016/0004/0001/CJM-2016-0004-0001-a001.pdf)", see theorem 2.1. This is related to elliptic curves! – Watson May 31 '22 at 19:37

7 Answers7


If we're working with three-dimensional vectors, a matrix is a $3\times 3$ array of 9 numbers. If I'm understanding your question right, you're asking whether there is something like a $3\times 3\times 3$ array of 27 numbers with interesting properties.

Yes, there is such a thing; it is called a tensor. Tensors are a generalization of both vectors and matrices:

  • A number is a "rank-0 tensor".
  • A vector is a "rank-1 tensor"; it contains $D$ numbers when we're working in $D$ dimensions.
  • A matrix is a "rank-2 tensor", containing $D\times D$ numbers.
  • Your "cubic" thing is a "rank-3 tensor", containing $D\times D\times D$ numbers.

... and so forth.

One use for a rank-3 tensor is if you want to express a function that takes two vectors and produces a third vector, with the property that if you keep any one of the arguments constant, the output is a linear function of the other input. (That is, a bilinear mapping from two vectors to one). One familiar example of such a function is the cross product. In order to completely specify such a thing you need 27 numbers, namely the 3 coordinates of each of $f(e_1,e_1)$, $f(e_1,e_2)$, $f(e_1,e_3)$, $f(e_2,e_1)$, etc. Using linearity to the left and right, this is enough to determine the output for any two input vectors.

I haven't heard of any generalization of determinants to higher-rank tensors, but I cannot offhand think of a principled reason why one couldn't exist.

The study of tensors belongs in the field of multilinear algebra. It's quite possible to get at least an undergraduate degree in mathematics without ever hearing about them. If you take physics, you'll see lots and lots of them, though.

hmakholm left over Monica
  • 276,945
  • 22
  • 401
  • 655
  • 8
    There are apparently several generalizations of determinant to higher-rank stuff (though I don't know anything about them) -- http://en.wikipedia.org/wiki/Hyperdeterminant – Harry Altman Oct 16 '11 at 21:13
  • 5
    @Ian, thanks for the acceptance -- for future reference, however, it is often a good idea to wait at least a few hours before accepting an answer. There's much more to be said than the terse introduction I've given here, but as soon as the question appears in the list of questions as "has accepted answer", many of our members who could have provided additional perspectives and interesting examples will think that there is nothing left to do about the question. – hmakholm left over Monica Oct 16 '11 at 21:19
  • 3
    Thanks for the tip. However, I think I'm going to ask here many other times - I really enjoyed here. – Ian Mateus Oct 16 '11 at 21:24
  • 26
    Dear God, I wish Wikipedia math articles were written like this. Amen – Matt Montag Oct 17 '11 at 07:23
  • @IanMateus In case you're interested in areas of [Physics](http://physics.stackexchange.com) using Tensors, as Henning hinted at, two of the most popular Theories involving Tensors are [Nonlinear Optics](http://en.wikipedia.org/wiki/General_relativity) (using a rank-2 tensor called $\chi^{(2)}$ for the first order nonlinearity) and [General Relativity](http://en.wikipedia.org/wiki/General_relativity), where you even get a [rank-4 tensor](http://en.wikipedia.org/wiki/Riemann_curvature_tensor) for describing the space-time-curvature. Good job getting interested in serious maths while young :-) – Tobias Kienzler Oct 17 '11 at 18:36

In addition to the canonical answer involving tensors and multilinear algebra, there is also an approach where the notion of determinant as a solution condition for a system of equations is generalized to some higher dimensional situations. The basic reference for this program (or one form of it) is the book by Gelfand, Kapranov and Zelevinsky of which the introduction and earlier chapters are relatively accessible:


  • 34,340
  • 3
  • 43
  • 106
  • 1
    It seems to be a great book, I'm going to check it out :) – Ian Mateus Oct 16 '11 at 21:25
  • 2
    Their motivation is a bit more arcane than having multidimensional matrices. I think the project was an offshoot of a long series of papers by Gelfand and his students on multidimensional versions of hypergeometric functions. But certainly they had all kinds of advanced ideas and applications in mind, it is not a naive or intuition-based extension of matrices to higher dimension but more in the spirit of other recent theories with names like "toric varieties" and "tropical geometry". – zyx Oct 16 '11 at 21:30

Matrices are like tables, with elements $A_{m,n}$, with operations of addition and multiplication $(A+B)_{mn} = A_{mn}+B_{mn}$ and $(A \cdot B)_{mn} = \sum_k A_{mk} B_{kn}$.

Cubic matrices have three indexes $A_{mnk}$, and $(A+B)_{mnk} = A_{mnk}+B_{mnk}$ and $(A \cdot B \cdot C)_{m n k} = \sum_{\ell} A_{m n \ell} B_{m \ell k} C_{\ell n k}$.

See arXiv:hep-th/0207054v3 for a flavor of applications.

  • 68,169
  • 6
  • 133
  • 210
  • 3
    @ThomasAhle, I'm guessing multiplication of cubic matrices is meant to be a ternary operation: $$(A \cdot B \cdot C)_{mnk} = \sum_{\ell} A_{m n \ell} B_{m \ell k} C_{\ell n k}$$ – goblin GONE Apr 21 '16 at 00:49

The answer is yes. There are many places in mathematics where it would be useful to 'store' numbers/whatever in a 3-dimensional grid. That is not the problem. It's using them in a context and defining the right operations that make sense so you can combine things and do some abstract algebra.

For a specific example, start with something concrete. Consider linear transformations on the the plane, IE $\mathbb{R}^2$, using vectors $\imath = [1,0]$ and $\jmath = [0,1]$ A linear transformation from the plane to the plane can be represented by a 2 by 2 matrix. Once this is solidly understood, consider a function of two vector variables (again, to the plane), like $L(v_1,v_2) = w$ where $L$ is linear in both variables. This means that if you plug in a vector for either $v_1$ or $v_2$ you get a linear transformation (similarly to when you take the derivative of a function along one variable). One example might look like: $L([a_1,b_1],[a_2,b_2]) = (3a_1b_1 -5a_1b_2)[2,1] + b_2b_1[1,5]$

Now you have some coefficients involved:

$f(\imath,0) = a\imath + b\jmath$

$f(\jmath,0) = c\imath + d\jmath$

$f(0,\imath) = e\imath + f\jmath$

$f(0,\jmath) = g\imath + h\jmath$.

Notice you have eight numbers a through h here which complete describe $L$. Also, note you could arrange and label these coefficients more sensibly (how, and what are these numbers given this example?). Essentially the space of inputs is 4 dimensional, but you don't think of them as four in a row or column, but four arranged in a square. And then there is two choices for the coefficients on the output, the one for $\imath$ and the one for $\jmath$.

Now these eight numbers naturally fit in a cube, and they are essentially the matrix of $L$, called a tensor

Rex Butler
  • 1,534
  • 10
  • 17

I approach the question from a computer programmer's point of view.

Most programming languages have array constructs. An array is an ordered sequence of elements, where each element might be a number (integer or real) or something else. You can also have multidimensional arrays; depending on the programming language, they might simply be arrays of arrays, or they might be a distinct construct.

From that point of view, the answer is yes, of course you can have cubic matrices. In C, for example, you might declare:

float number;                /* just a number */
float vector[3];             /* a vector of 3 numbers */
float matrix[3][3];          /* a 3-by-3 matrix, 9 numbers */
float cubic_matrix[3][3][3]; /* a 3-by-3-by-3 cubic matrix, 27 numbers */

or even:

float big_matrix[3][4][6][42][5][2]; /* a 6D matrix with unequal dimensions */

In mathematics, and to a lesser extent in programming, if you can describe something you can reasonably say that it exists.

And you can define whatever operations you like on these things.

The more interesting question (which others can answer better than I can) is whether such things, and the operations on them, are mathematically and/or physically meaningful.

Keith Thompson
  • 455
  • 3
  • 9

Good question!

Matrices are properly two dimensional, because matrix multiplication is defined so that it is a vector function. The two dimensions of the matrix give the dimensions of the input and output vectors.

I've written a blog post about this: http://wilsonericn.wordpress.com/2011/09/15/the-first-thing-you-should-know-about-matrices/

There are many times that higher dimensional arrays are useful, but they are not matrices.

Eric Wilson
  • 297
  • 2
  • 9

I write to you a cubic matrix (and with thr side of lengh 2), so it has 8 elements; You can arrange them in a column A; take a second cubic matrix B with side-lengh 2; you get A= a1, a2, ..., a8 B= b1, b2, ..., b8 a1 could be baby girl shoes, a2 = socks, ... a8 = t-shirt; b1 could be price a a single pair of baby shoes, b2 = price of a single pair of socks,..., b8 = price o a t-shirt. c1 = N° of baby girl shoes sold, ..., c8 = N° of t-shirts sold. You may do the product B.C = D, where D is a cubic matrix, this way: d1 = b1 . c1, ..., d8 = b8 . c8. In the same way you can do it with even higher "dimension". When things look complicated, make them simpler! Enzo