added tests for Matrix related to matrix action, and generating perpendicular projection
fixed the perpendicular projection matrix factory