def test_solve_upper_triangular(self): u = array([[3, 2, 1], [0, 5, 1], [0, 0, 2]], dtype=numpy.double) b = array([13, 7, 4], dtype=numpy.double) x = solve_upper_triangular(u, b) print 'x=', x x_actual = scipy_solve_triangular(u, b) print 'actual', x_actual
def test_solve_uptri_di(self): u = array([[1, 0, 0], [0, 1, 0], [0, 0, 1]], dtype=numpy.double) b = array([3, 4, 5], dtype=numpy.double) x = solve_upper_triangular(u, b) print 'x=', x x_actual = scipy_solve_triangular(u, b) print 'actual', x_actual
def test_solve_upper_triangular(self): # create a random upper triangular matrix U = random_upper_triangular(23) + 23*numpy.diag(numpy.ones(23)) b = randn(23) y_actual = scipy_solve_triangular(U,b) y = solve_upper_triangular(U,b) error = norm(y - y_actual) self.assertAlmostEqual(error, 0)
def test_solve_lower_triangular(self): # create a random lower triangular matrix L = random_lower_triangular(23) + 23*numpy.diag(numpy.ones(23)) b = randn(23) y_actual = scipy_solve_triangular(L,b,lower=True) y = solve_lower_triangular(L,b) error = norm(y - y_actual) self.assertAlmostEqual(error, 0)