В движке сайта было сделано небольшое улучшение, касающееся поля для ввода длинного текста, и благодаря ему стало возможным делать калькуляторы для работы с матрицами. Начну я с азов — с расчета определителя матрицы. Сам калькулятор ниже, а ликбез про определители, как водится, под ним (для тех кто подзабыл).

Калькулятор считает определитель прямо по его определению, то есть рекурсивно, за что Википедия обещает всяческие кары в виде вычислительной сложности O(n!). Но я думаю, для интернет-целей, а-ля проверить пример, посчитанный вручную, производительности хватит (если не хватит, то можно использовать этот калькулятор Определитель матрицы методом Гаусса).

Определитель (детерминант) матрицыCreative Commons Attribution/Share-Alike License 3.0 (Unported)
0.12345678901234567890
 



Итак детерминант.
Ну подробно можно почитать по ссылке в Википедии, приведенной выше, а я только напомню некоторые формулы:

det A=\begin{vmatrix} a_{11}\end{vmatrix} = a_{11}
— детерминант матрицы размерности 1 на 1

det A=\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix}=a_{11}a_{22}-a_{12}a_{21}
— детерминант матрицы размерности 2 на 2

det A=\sum_{j=1}^n (-1)^{1+j} a_{1j}\bar M_j^1
— детерминант матрицы размерности n на n, где n > 2
\bar M_j^1 - дополнительный минор к элементу a_{1j}.
Дополнительный минор к элементу a_{1j} — это детерминант матрицы, получаемой из исходной вычеркиванием 1-ой строки и j-го столбца. Собственно, поэтому определение и рекурсивное.

Для иллюстрации вот формула детерминанта для матрицы размером 3 на 3:
det A =  \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{vmatrix} = a_{11}\begin{vmatrix}    a_{22} & a_{23} \\  a_{32} & a_{33} \end{vmatrix}-a_{12}\begin{vmatrix}    a_{21} & a_{23} \\  a_{31} & a_{33} \end{vmatrix}+a_{13}\begin{vmatrix}    a_{21} & a_{22} \\  a_{31} & a_{32} \end{vmatrix}

На этом можно и закончить.