()
| 182 | |
| 183 | |
| 184 | def test_expand_packed_triangular(): |
| 185 | with pytest.raises(ValueError): |
| 186 | x = pt.matrix("x") |
| 187 | expand_packed_triangular(5, x) |
| 188 | N = 5 |
| 189 | packed = pt.vector("packed") |
| 190 | with pytest.raises(TypeError): |
| 191 | expand_packed_triangular(packed.shape[0], packed) |
| 192 | np.random.seed(42) |
| 193 | vals = np.random.randn(N, N) |
| 194 | lower = floatX(np.tril(vals)) |
| 195 | lower_packed = floatX(vals[lower != 0]) |
| 196 | upper = floatX(np.triu(vals)) |
| 197 | upper_packed = floatX(vals[upper != 0]) |
| 198 | expand_lower = expand_packed_triangular(N, packed, lower=True) |
| 199 | expand_upper = expand_packed_triangular(N, packed, lower=False) |
| 200 | expand_diag_lower = expand_packed_triangular(N, packed, lower=True, diagonal_only=True) |
| 201 | expand_diag_upper = expand_packed_triangular(N, packed, lower=False, diagonal_only=True) |
| 202 | assert np.all(expand_lower.eval({packed: lower_packed}) == lower) |
| 203 | assert np.all(expand_upper.eval({packed: upper_packed}) == upper) |
| 204 | assert np.all(expand_diag_lower.eval({packed: lower_packed}) == floatX(np.diag(vals))) |
| 205 | assert np.all(expand_diag_upper.eval({packed: upper_packed}) == floatX(np.diag(vals))) |
nothing calls this directly
no test coverage detected