added ViennaCL implementations for the rest of linalg's methods