|
15 | 15 | from pytensor.tensor.slinalg import ( |
16 | 16 | Cholesky, |
17 | 17 | CholeskySolve, |
18 | | - LUSolve, |
19 | 18 | Solve, |
20 | 19 | SolveBase, |
21 | 20 | SolveTriangular, |
@@ -1033,33 +1032,3 @@ def test_block_diagonal_blockwise(): |
1033 | 1032 | B = np.random.normal(size=(1, batch_size, 4, 4)).astype(config.floatX) |
1034 | 1033 | result = block_diag(A, B).eval() |
1035 | 1034 | assert result.shape == (10, batch_size, 6, 6) |
1036 | | - |
1037 | | - |
1038 | | -def lu_solve_1(A, b): |
1039 | | - lu, pivots = pt.linalg.lu_factor(A) |
1040 | | - return pt.linalg.lu_solve((lu, pivots), b) |
1041 | | - |
1042 | | - |
1043 | | -def lu_solve_2(A, b, b_ndim=1, trans=0, check_finite=False): |
1044 | | - lu, pivots = pt.linalg.lu_factor(A) |
1045 | | - return LUSolve(b_ndim=1, trans=0, check_finite=False)(lu, pivots, b) |
1046 | | - |
1047 | | - |
1048 | | -@pytest.mark.parametrize( |
1049 | | - "op", [lu_solve_1, lu_solve_2, pt.linalg.solve], ids=["lu_1", "lu_2", "solve"] |
1050 | | -) |
1051 | | -@pytest.mark.parametrize("n", [500]) |
1052 | | -def test_solve_methods(op, n, benchmark): |
1053 | | - A = pt.tensor("A", shape=(n, n)) |
1054 | | - b = pt.tensor("b", shape=(n,)) |
1055 | | - |
1056 | | - x = op(A, b) |
1057 | | - gx = pt.grad(x.sum(), [A, b]) |
1058 | | - f = pytensor.function([A, b], [x, *gx]) |
1059 | | - |
1060 | | - A_val = np.random.normal(size=(n, n)).astype(config.floatX) |
1061 | | - b_val = np.random.normal(size=(n,)).astype(config.floatX) |
1062 | | - |
1063 | | - # Trigger compilation if we're a jit mode |
1064 | | - f(A_val, b_val) |
1065 | | - benchmark(f, A_val, b_val) |
0 commit comments