;Related tasks: *   [[Arrays]] *   [[Vector]] *   [[Matrices]] **   [[Determinant and permanent]] *** [[wp:Laplace_expansion|Laplace expansion]] O\bigl(n!\bigr) *** [[wp:Leibniz_formula_for_determinants|Leibniz fomula]] \Omega\bigl(n!\cdot n\bigr) *** [[wp:Bareiss_algorithm|Bareiss algorithm]] O\bigl(n^3\bigr) *** [[wp:LU_decomposition|LU-decomposition]] O\bigl(n^3\bigr) *** [[wp:Strassen_algorithm|Strassen algorithm]] O\bigl(n^{2.807}\bigr) *** [[wp:Coppersmith%E2%80%93Winograd_algorithm|Coppersmith-Winograd algorithm]] O\bigl(n^{2.376}\bigr) *** [[wp:Jean-Fran%C3%A7ois_Le_Gall|Le Gall algorithm]] *** [https://codegolf.stackexchange.com/questions/236835/birds-algorithm-for-computing-determinants Bird's algorithm] *   [[Bivector]] *   [[Antivector]] *   [[Tensor]] *   [[Quaternion]] *   [[Rotor]] *   [[Motor]] *   [[Sedenion]] *   [[Octonion]]
For a given matrix, return the [[wp:Determinant|determinant]] and the [[wp:Permanent_(mathematics)|permanent]] of the matrix. For a matrix of [[wp:Orthonormal_basis|orthonormal basis]] vectors, return the [[wp:Levi-Civita_symbol|Levi-Civita symbol]] of the orthonormal basis vector permutation. The determinant is given by :: \det(A) = \sum_\sigma\sgn(\sigma)\prod_{i=1}^n M_{i,\sigma_i} while the permanent is given by :: \operatorname{perm}(A)=\sum_\sigma\prod_{i=1}^n M_{i,\sigma_i} In both cases the sum is over the permutations \sigma of the permutations of 1, 2, ..., ''n''. (A permutation's sign is 1 if there are an even number of inversions and -1 otherwise; see [[wp:Parity of a permutation|parity of a permutation]].)

;C.f. * [[wp:Computational_complexity_of_matrix_multiplication#Matrix_inversion,_determinant_and_Gaussian_elimination|Computational complexity of matrix multiplication]] * [https://dai.fmph.uniba.sk/courses/FPRO/bird_pearls.pdf Richard Bird Pearls] * [https://dai.fmph.uniba.sk/courses/FPRO/ Funkcionálne programovanie] * [[Permutations by swapping]]