More semirings
Semiring reorg
Refactor
Move subgradient to python
new files
new files
new files