Matrixer is a simple calculator that can not only calculate with real numbers, but also with several finite fields like F3, F4 or F8. Additionally as the name suggests, Matrixer is able to calculate with matrices as well as vectors.

Oh no! Matrixer has detected an error:

You are sure that your input is correct? Report an error!

Your Input:

Result:

Code:

Result:
Span:
Trivial Solution:
Row-Reduced Matrix:

Instructions

How do I enter a math expression?

  • Usual math expressions: Just like on any calculator:
    -5*(3+4.5)/6-5^3 represents \(-5*(3+4.5)/6-5^3\)
  • Matrices: Surrounded by curly brackets, rows separated by a semicolon and columns by a comma.
    {1,2,3;4,5,6} represents \(\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6\end{pmatrix}\)
  • Vectors: Surrounded by square brackets, rows separated by a comma.
    [1,2,3,4] represents \(\begin{pmatrix}1 \\ 2 \\ 3 \\ 4\end{pmatrix}\)
  • Numbers of extended fields:
    F4 Numbers:
    InputNumber
    0\(0\)
    1\(1\)
    a\(\alpha\)
    a+1\(\alpha+1\)
    F8 Numbers:
    InputNumber
    0\(0\)
    1\(1\)
    b\(\beta\)
    1+b\(1+\beta\)
    bs\(\beta^2\)
    1+bs\(1+\beta^2\)
    b+bs\(\beta+\beta^2\)
    1+b+bs\(1+\beta+\beta^2\)
    F9 Numbers:
    InputNumber
    0\(0\)
    1\(1\)
    -1\(-1\)
    j\(\iota\)
    j+1\(\iota+1\)
    j-1\(\iota-1\)
    -j\(-\iota\)
    -j+1\(-\iota+1\)
    -j-1\(-\iota-1\)
  • Spaces and capitalization don't matter. You can insert spaces or leave them out, it doesn't make any difference. Same goes for capitalized letters.

What can I do with Matrixer?

  • Make calculations with fields:

    bs*(1+b+bs)-b \(=\beta^2*(1+\beta+\beta^2)-\beta = 1+\beta\)

    (a+1)^2 \(=(\alpha+1)^2 = \alpha\)

    Supported operations are multiplying *, dividing /, adding + subtracting - and exponentiation ^.

    Note that the exponent of an exponentiation must always be a whole real number \(\geq\) 0 when exponentiating numbers from finite fields:

    \((\alpha+1)^2\) is allowed, but \((\alpha+1)^\alpha\) and \((\alpha+1)^{0.5}\) are not allowed.

    Using decimal numbers as exponents for real numbers is fine however: \(4^{0.5} = \sqrt{4} = 2\)

  • Multiply, add, subtract and exponentiate matrices:

    E.g. in F5: {0,4,3;1,2,4}*{1,3;0,2;4,2} \(=\begin{pmatrix}0&4&3\\1&2&4\end{pmatrix}*\begin{pmatrix}1&3\\0&2\\4&2\end{pmatrix} = \begin{pmatrix}2&4\\2&0\end{pmatrix}\)

    E.g. in F4:{a,a+1;0,1}+{0,1;a,a} \(=\begin{pmatrix}\alpha&\alpha+1\\0&1\end{pmatrix}+\begin{pmatrix}0&1\\\alpha&\alpha\end{pmatrix} = \begin{pmatrix}\alpha&\alpha\\\alpha&\alpha+1\end{pmatrix}\)

  • Multiply a matrix with a vector:

    E.g. in F5: {0,4,3;1,2,4}*[1,0,4] \(=\begin{pmatrix}0&4&3\\1&2&4\end{pmatrix}*\begin{pmatrix}1\\0\\4\end{pmatrix} = \begin{pmatrix}2\\2\end{pmatrix}\)

  • Multiply a matrix with a number

    E.g. in F4: a*{1,1;1,1} \(=\alpha*\begin{pmatrix}1&1\\1&1\end{pmatrix}=\begin{pmatrix}\alpha&\alpha\\\alpha&\alpha\end{pmatrix}\)

  • Multiply, add, subtract and exponentiate vectors:

    E.g. in F3: [2,1,2]*[2,2,0] \(=\begin{pmatrix}2\\1\\2\end{pmatrix}*\begin{pmatrix}2\\2\\0\end{pmatrix} = 0\)

    E.g. in R: [1,2,3]-[4,5,6] \(=\begin{pmatrix}1\\2\\3\end{pmatrix}-\begin{pmatrix}4\\5\\6\end{pmatrix} = \begin{pmatrix}-3\\-3\\-3\end{pmatrix}\)

  • Everything together:

    E.g. in R: 3*(3+6)*{1,2,3;4,5,6}*[9,8,7] \(=3*(3+6)*\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6\end{pmatrix}*\begin{pmatrix}9 \\ 8 \\ 7\end{pmatrix}=\begin{pmatrix}1242\\3186\end{pmatrix}\)

  • Convert a matrix to reduced row-echelon-form:

    E.g. in R: rowreduce({1,2,3,4;5,6,7,8;9,0,1,2}) \(=rowreduce(\begin{pmatrix}1&2&3&4\\5&6&7&8\\9&0&1&2\end{pmatrix}) = \begin{pmatrix}1&0&0&0\\0&1&0&-1\\0&0&1&2\end{pmatrix}\)

    Note that the round brackets surrounding the curly matrix brackets may not be omitted.

  • Solve a homogeneous equation system:

    A homogeneous equation system is defined as \(A*x=0\) where \(A\) is a given matrix and \(x\) is an unknown vector.

    E.g. in F9: solvehom({1,j,-j;1-j,0,-1}) \(=solvehom(\begin{pmatrix}1&\iota&-\iota\\1-\iota&0&-1\end{pmatrix})\) results in

    Span:
    \[\langle\begin{pmatrix}-\iota-1\\-\iota-1\\1\end{pmatrix}\rangle\]
    Trivial Solution:
    \[\begin{pmatrix}0\\0\\0\end{pmatrix}\]
    Row-Reduced Matrix:
    \[\begin{pmatrix}1&0&\iota+1\\0&1&\iota+1\end{pmatrix}\]
  • Transpose a matrix:

    E.g. in R: transpose({1,2,3;4,5,6}) \(= transpose(\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}) = \begin{pmatrix}1&4\\2&5\\3&6\end{pmatrix}\)

  • Calculate the multiplicative inverse element of a number or matrix:

    The multiplicative inverse element \(y\) of a number \(x\) is defined as \(x*y=1\).
    The multiplicative inverse matrix \(B\) of a quadratic matrix \(A\) is defined as \(A*B = \begin{pmatrix}1 & 0 & \dots & 0\\ 0 & 1 & \dots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \dots & 1\end{pmatrix}\).
    It should be noted that not every matrix is invertible. If the matrix is not invertible, an error will be displayed.

    E.g. in F4: multinverse(a) \(=multinverse(\alpha) = \alpha+1\)

    E.g. in R: multinverse(2) \(=multinverse(2) = 0.5\)

    E.g. in F7: multinverse({1,5,3;3,4,1;6,2,5}) \(=multinverse(\begin{pmatrix}1&5&3\\3&4&1\\6&2&5\end{pmatrix}) = \begin{pmatrix}6&3&0\\ 4&5&5\\ 1&0&1\end{pmatrix} \)

  • Calculate the additive inverse element of a number:

    The additive inverse element \(y\) of a number \(x\) is defined as \(x+y=0\).

    E.g. in F5: additiveinverse(2) \(=additiveinverse(2) = 3 \)

    E.g. in R: additiveinverse(4) \(=additiveinverse(4) = -4\)

What can't Matrixer do?

  • Calculations inside of matrices or vectors:

    E.g. \(\begin{pmatrix}3*4&5+6\\2^2&7\end{pmatrix}\) or \(\begin{pmatrix}3*4\\5-2\\4/3\end{pmatrix}\)is not allowed.

    Note that this means, that you can't enter the F8 number \(\beta^2\) as b^2 inside a matrix or vector. Use bs instead.
    I know that this isn't ideal, and I might improve this later.
  • Understand function operators without round brackets:

    Function operators are operators that are structured like this: myoperator(some numbers)

    For example rowreduce({1,2;3,4}) is allowed, but rowreduce{1,2;3,4} is not allowed because of the missing round brackets.

  • Run in Internet Explorer.

    This is because of a JavaScript incompatibility. Use Chrome or Firefox instead.

  • Something else is missing?
    If you know a feature that might be helpful, just contact me and maybe I'll add that feature.