This is how I normally calculate the determinant of a matrix.
However, the complexity of this algorithm is O(n!).
How to calculate it in polynomial time?
P.S: Why I need to calculate the determinant of a matrix in polynomial time?
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
This is how I normally calculate the determinant of a matrix.
However, the complexity of this algorithm is O(n!).
How to calculate it in polynomial time?
P.S: Why I need to calculate the determinant of a matrix in polynomial time?
Name |
---|
Your second link is one click away from an efficient algorithm, which is Gaussian elimination. See the bottom of determinant's properties.
Gaussian elimination.
Please keep in mind that Gaussian is numerically unstable in general case. It is not a problem in Laplacian matrix, as it is diagonally dominant.