mark schmidt's L1General, implementation of PAV projection for SPG