* initial commit
* first implementation of hard margin
* remove debugging print
* many commits squashed because pre-commit was buggy
* more kernels and improved kernel management
* remove unnecessary code + fix names + formatting + doctests
* rename to fit initial naming
* better naming and documentation
* better naming and documentation