determinant static method
Implementation
static double determinant(List<double> matrix) {
var m00 = matrix[0];
var m01 = matrix[1];
var m02 = matrix[2];
var m03 = matrix[3];
var m10 = matrix[4];
var m11 = matrix[5];
var m12 = matrix[6];
var m13 = matrix[7];
var m20 = matrix[8];
var m21 = matrix[9];
var m22 = matrix[10];
var m23 = matrix[11];
var m30 = matrix[12];
var m31 = matrix[13];
var m32 = matrix[14];
var m33 = matrix[15];
return (m03 * m12 * m21 * m30 -
m02 * m13 * m21 * m30 -
m03 * m11 * m22 * m30 +
m01 * m13 * m22 * m30 +
m02 * m11 * m23 * m30 -
m01 * m12 * m23 * m30 -
m03 * m12 * m20 * m31 +
m02 * m13 * m20 * m31 +
m03 * m10 * m22 * m31 -
m00 * m13 * m22 * m31 -
m02 * m10 * m23 * m31 +
m00 * m12 * m23 * m31 +
m03 * m11 * m20 * m32 -
m01 * m13 * m20 * m32 -
m03 * m10 * m21 * m32 +
m00 * m13 * m21 * m32 +
m01 * m10 * m23 * m32 -
m00 * m11 * m23 * m32 -
m02 * m11 * m20 * m33 +
m01 * m12 * m20 * m33 +
m02 * m10 * m21 * m33 -
m00 * m12 * m21 * m33 -
m01 * m10 * m22 * m33 +
m00 * m11 * m22 * m33);
}