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 33)
19 fn determinant_linear(mut self, other: Self) -> Option<Vec<MInt<M>>>
20 where
21 M: MIntConvert<usize> + MIntConvert<u64>,
22 {
23 let mut rng = Xorshift::new();
24 let a = MInt::from(rng.rand64());
25 let n = self.data.len();
26 for i in 0..n {
27 for j in 0..n {
28 self[i][j] += other[i][j] * a;
29 }
30 }
31 let mut f = other.determinant_linear_non_singular(self)?;
32 f.reverse();
33 Some(taylor_shift::<M>(f, -a))
34 }