pub fn lineq(a: Vec<Bitset>, b: Vec<bool>) -> Option<(Bitset, Vec<Bitset>)>Expand description
$\mathbb{Z} / 2 \mathbb{Z}$上で連立一次方程式$A \boldsymbol{x} = \boldsymbol{b}$を解く。
ここで、$A$は$n \times m$の行列、$\boldsymbol{x}$は$m$行の縦ベクトル、$\boldsymbol{b}$は$n$行の縦ベクトル。
連立方程式が解をもたないとき、Noneを返す。
そうでなければ、Some((sol, bases))を返す。
solは$m$行のベクトル、basesはdim個の$m$行のベクトルで、
連立方程式の解は、basesの要素の線型結合とsolの和で表される。