def test_dense_least_squares_multiple_rhs(self):
     solver = QRMUMPSSolver((self.m, self.n, self.arow, self.acol, self.aval), verbose=False)
     B = np.ones([self.n, 3], dtype=np.complex64)
     B[:, 1] = 2 * B[:, 1]
     B[:, 2] = 3 * B[:, 2]
     rhs = np.dot(self.A, B)
     x = solver.least_squares(rhs)
     assert np.allclose(x, B, 1e-5)
 def test_dense_least_squares_multiple_rhs(self):
     solver = QRMUMPSSolver(self.A, verbose=False)
     B = np.ones([self.n, 3], dtype=np.float64)
     B[:, 1] = 2 * B[:, 1]
     B[:, 2] = 3 * B[:, 2]
     rhs = np.ones([self.m, 3], dtype=np.float64)
     rhs[:, 0] = self.A * B[:, 0]
     rhs[:, 1] = self.A * B[:, 1]
     rhs[:, 2] = self.A * B[:, 2]
     x = solver.least_squares(rhs)
     assert np.allclose(x, B, 1e-5)
 def test_least_squares(self):
     solver = QRMUMPSSolver(self.A, verbose=False)
     rhs = np.ones([self.m, 1], dtype=np.float64)
     with pytest.raises(RuntimeError):
         x = solver.least_squares(rhs)
    def test_dense_least_squares_wrong_size_rhs(self):
        solver = QRMUMPSSolver(self.A, verbose=False)
        rhs = np.ones([self.m + 1, 1], dtype=np.float64)
        with pytest.raises(ValueError):
	    solver = solver.least_squares(rhs)
    def test_dense_least_squares_wrong_size_rhs(self):
        solver = QRMUMPSSolver((self.m, self.n, self.arow, self.acol, self.aval), verbose=False)
        rhs = np.ones([self.m+1, 1], dtype=np.complex64)
	with pytest.raises(ValueError):
            x = solver.least_squares(rhs)
    def test_least_squares(self):
        solver = QRMUMPSSolver((self.m, self.n, self.arow, self.acol, self.aval), verbose=False)
        rhs = np.ones([self.m, 1], dtype=np.float32)
	with pytest.raises(RuntimeError):
            x = solver.least_squares(rhs)