Checkout point before adjusting the interface to use the sparce matrix encoding of the row and column dimensions
Added sparse PCA interface, also code review of dense interface