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)