Parser now only parses lower half of matrix

Much quicker
Add redundant_form() and pprinting in __str__