The complex matrix calculator allows performing **matrix algebra** (**addition**, **subtraction**, **multiplication**, **inverses**, etc.) and calculate **determinant**, **inverse**, **adjugate**, **rank**, **rref**, and **triangular** forms of **m × m** **matrices** of **any size** with *real* or **complex matrices** and **solve systems of linear equations** with real or **complex coefficients** and real or **complex column vectors**.

You can increase the dimensions of a *selected* **matrix** by adding **rows** or **columns** to it by pressing the **＋** (*insert row* or *insert column*) buttons provided.

You can also conveniently set the number of **rows** or **columns** of a selected matrix by pressing the numbered buttons on the left of a row or above a column, respectively.

You can also set the dimensions of a selected matrix by entering the number of its **rows** or **columns** in the text boxes provided.

You can select and/or modify a matrix **A, B, C, ..., H** by first choosing them from the drop-down list on the right of the **matrix calculator**. These matrices are initially filled with 0's, except for the matrix **A**.

You can then set its dimensions and fill the matrix with numbers (**real** numbers, **imaginary** numbers or, in general, **complex** numbers) or **expressions** containing them.

This **complex matrix calculator** allows you to use any **numeric (constant) expression**, e.g., **1/2+3sin(5π/4)i** for a matrix element.

This **matrix calculator** remembers the **dimensions** and entries of all matrices that you enter and also remembers whether a matrix is **augmented** for **solving systems of linear equations**.

All the data are retained indefinitely. To clear the data and reset the matrix calculator type in **reset** in the matrix expression box at the bottom of the matrix entries and press **Clear**, or clear site data from your browser history.

You can **clear** or **fill a selected matrix by random numbers** (integers between -10 and 10) by pressing the buttons provided. They do not internally replace the entries of the selected matrix but the random entries are used for calculations. You can retrieve the original entries that you entered manually by changing your device's orientation or refreshing the page.

To calculate the **determinant**, **inverse**, **reduced row echelon form**, **adjugate**, **rank**, **lower/upper triangular** forms and **transpose** of a selected matrix (**A** is initially selected) press the relevant buttons at the top of the **matrix calculator**.

You can do similarly as above with other matrices **A, B, C, ..., H** by first selecting them from the drop-down list and setting its dimensions and entries.

Under the **Quick Calculations** drop-down-list you can calculate frequently used **matrix expressions** involving two or more matrices such as **A + B**, **(A+B)(C+D)**, and many more.

If a **matrix expression** is not listed under the quick calculation menu, you can enter it in the expression box provided. Press the **Calculate** button to evaluate it.

This **matrix expression calculator** allows you to use any matrix expression which can be in the most general form, such as (2+sin(π/3))**A** + inv(**A**+**B**/det(**A**))(**B**/2 + **B****C**^4)/**D**^(3+2^5)

If the matrix expression is a valid expression and contains no operations of incompatible matrices, the result will be displayed. Otherwise an error message is displayed.

You can use the following in your expressions:

**1/A** is the same as **inv(A)**

**A/B** is the same as **Ainv(B)**

All **1 × 1** **matrices** are treated as *scalars* by this **matrix calculator**. They can be multiplied by any **matrix** (on either side) regardless of its dimension. Also if, for example, **A** = [1/2], then sin(**A**) is treated as sin(**1/2**). Conversely, whenever appropriate, scalars are treated as **1 × 1** **matrices**. For example, inv(2) is treated as inv([2]) which will be given as 0.5.

*You can also use this matrix calculator as a multi-variable function evaluator. Type in a function expression containing up to 8 variables (use A, B, C, ... as variables, instead of x,y,z, ...). Set all matrices involved as 1×1 matrices. Assign numbers (or constant expressions) to the variables (i.e., 1×1 matrices) and press the Calculate button. The value of the function is given as a scalar*.

The system of linear equations solver allows two different ways to solve such systems.

With the first method, which is a neat way to solve a single **linear system**, select the **Linear System** checkbox provided. Set the dimensions of the **coefficient matrix** and fill the **augmented matrix** with **real** or **complex** numbers (or expression of them). Note that the last column highlights the rhs (right hand side) of the system. Now press the **Solve** button.
If the system is **consistent** and has a **unique solution**, the vector representing the unique solution will be displayed together with the RREF (**reduced row echelon form**) of the **augmented matrix**. If there are more than one solutions, the general solution is given. If the system is **inconsistent** a message stating so and the RREF will be displayed.

With the second method you can **solve** *more than one* **linear systems** at once, all having the same *square matrix* **m × m** as their **coefficient matrix**. Do **not** select **Linear System** but set the number of columns more than the number of rows. Fill each additional column after the m^{th} column with the right hand side of the corresponding system (with the same *coefficient matrix*) and press the **RREF** button.
If you see the entries of the m × m matrix on the left to be in the reduced row echelon form, then each system has a unique solution with the corresponding solution vector appearing on the right hand side.