Esempio n. 1
0
def test_mvwp_project():
    def pr(src, dest):
        return 2 * src + dest
    mv1 = MultiVectorWithProjection(project=pr)
    mi1 = Multiindex([1, 2, 1])
    mi2 = Multiindex([3, 2, 1, 7])
    v1 = FlatVector([7, 10, 6])
    v2 = FlatVector([2, 6, 13])
    mv1[mi1] = v1
    mv1[mi2] = v2

    assert_equal(mv1.get_projection(mi1, mi2), pr(v1, v2))
    assert_equal(mv1.get_back_projection(mi1, mi2), pr(pr(v1, v2), v1))