Adjusted Matrix Operations

Use copy constructors with pass by value instead of pass by argument to simplify consumption syntax.