https://medium.com/@monocosmo77/working-with-2-nilpotent-algebras-part2-machine-learning-42b7ef835f7b