def test_construction(): k = EQ() x = np.random.randn(10, 1) k(x) k(x, x) k(Observed(x)) k(Observed(x), Observed(x)) k(x, Observed(x)) k(Observed(x), x) k.elwise(x) k.elwise(x, x) k.elwise(Observed(x)) k.elwise(Observed(x), Observed(x)) k.elwise(x, Observed(x)) k.elwise(Observed(x), x)
def test_elwise_cache_aliasing(): c = Cache() k = EQ() x1 = np.random.randn(10, 2) x2 = np.random.randn(10, 2) yield assert_allclose, k.elwise(x1, x2, c), Kernel.elwise(k, x1, x2, c)
def test_construction(x1, x2): k = EQ() k(x1) k(x1, x2) k.elwise(x1) k.elwise(x1, x2) # Test `MultiInput` construction. approx( k(MultiInput(x1, x2)), B.concat2d([k(x1, x1), k(x1, x2)], [k(x2, x1), k(x2, x2)]), ) approx(k(x1, MultiInput(x1, x2)), B.concat(k(x1, x1), k(x1, x2), axis=1)) approx(k(MultiInput(x1, x2), x2), B.concat(k(x1, x2), k(x2, x2), axis=0)) approx( k.elwise(MultiInput(x1, x2)), B.concat(k.elwise(x1, x1), k.elwise(x2, x2), axis=0), ) with pytest.raises(ValueError): k.elwise(MultiInput(x1), MultiInput(x1, x2)) with pytest.raises(ValueError): k.elwise(x1, MultiInput(x1, x2)) with pytest.raises(ValueError): k.elwise(MultiInput(x1, x2), x2)