refactoring code so that all the preconditioning calculations are together; this requires extra storage of the delta in y
Moving w2 into the state
adding preconditioners
refactoring code to move all data that is invariant across iterations into a "consts" struct and allow callbacks and preconditioners to access it
fixing bugs and changing the sample code to try different preconditioning