# Linalg module

## Norm and squared norm
::: pqlattice.linalg.norm
::: pqlattice.linalg.norm2
::: pqlattice.linalg.per_row_norm
::: pqlattice.linalg.per_row_norm2

---

## Helper functions for in place matrix operations
::: pqlattice.linalg.row_add
::: pqlattice.linalg.row_scale
::: pqlattice.linalg.row_swap

::: pqlattice.linalg.col_add
::: pqlattice.linalg.col_scale
::: pqlattice.linalg.col_swap

---

## Functions for integral matrices
::: pqlattice.linalg.hnf
::: pqlattice.linalg.det
::: pqlattice.linalg.left_kernel
::: pqlattice.linalg.right_kernel
::: pqlattice.linalg.left_nullity
::: pqlattice.linalg.right_nullity
::: pqlattice.linalg.rank
::: pqlattice.linalg.minor
::: pqlattice.linalg.cofactor
::: pqlattice.linalg.cofactor_matrix

---
## Functions for matrices with coefficients from $Z_q$
::: pqlattice.linalg.mod_ref
::: pqlattice.linalg.mod_rref
::: pqlattice.linalg.mod_matinv
::: pqlattice.linalg.mod_right_kernel
::: pqlattice.linalg.mod_left_kernel
::: pqlattice.linalg.mod_left_nullity
::: pqlattice.linalg.mod_right_nullity
