The **matix calculator** & **linear system solver** is for performing **matrix algebra** (**addition**, **subtraction**, **multiplication**, **inverses**, etc.) of **complex matrices**. Also calculate **determinant**, **inverse**, **adjugate**, **rank**, **rref**, and **triangular** forms of **m × m** **matrices** with *real* or **complex entries**. In addition, **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 it 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.

With this **matrix calculator** you can use any **numeric (constant) expression**, e.g., **1/2+3sin(5π/4)i** for a matrix enyries.

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 when you close the **matrix calculator** . To clear the data and reset **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.

### Matrix Algebra

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:

**inv()**,
**adj()**,
**trans()**,
**rref()**,
**ut()**,
**lt()**,
**det()**
**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.

### Solving Linear Systems

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.