fn taylor_shift<M>(f: Vec<MInt<M>>, a: MInt<M>) -> Vec<MInt<M>>where
M: MIntConvert<usize>,Examples found in repository?
crates/competitive/src/math/mint_matrix.rs (line 38)
24 fn determinant_linear(mut self, other: Self) -> Option<Vec<MInt<M>>>
25 where
26 M: MIntConvert<usize> + MIntConvert<u64>,
27 {
28 let mut rng = Xorshift::new();
29 let a = MInt::from(rng.rand64());
30 let n = self.data.len();
31 for i in 0..n {
32 for j in 0..n {
33 self[i][j] += other[i][j] * a;
34 }
35 }
36 let mut f = other.determinant_linear_non_singular(self)?;
37 f.reverse();
38 Some(taylor_shift::<M>(f, -a))
39 }