コード例 #1
0
def test_generate_spin_cases_4():
    # a = Term([make_tensor('H', 'v2,c0', 'v0,c2'), make_tensor('t', 'c1,c2', 'v1,v2')],
    #          make_sq('v0,v1', 'c0,c1'))
    # print(a)
    # print(a.latex())
    # print(a.ambit(), '\n')
    #
    # for i in a.generate_spin_cases_naive():
    #     print(i.latex())
    # print()

    a = Term([
        make_tensor('H', 'v2,v3', 'v0,v1'),
        make_tensor('t', 'c0,c1', 'v2,v3')
    ], make_sq('v0,v1', 'c0,c1'), 0.125)
    print(a)
    print(a.latex(), '\n')

    for i in a.generate_spin_cases_naive():
        print(i.latex())
        print(i.ambit())

    a = Term([
        make_tensor('H', 'p0,g0', 'c0,g1'),
        make_tensor('t', 'c0,h0', 'p0,p1')
    ], make_sq('g0,h0', 'g1,p1'))
    print(a)
    print(a.latex(), '\n')

    for i in a.generate_spin_cases_naive():
        print(i.latex())
        print(i.ambit())
コード例 #2
0
def test_latex_1():
    list_of_tensors = [
        make_tensor('H', 'v0, v1', 'c0, c1'),
        make_tensor('t', 'c0, c1', 'v0, v1')
    ]
    sq_op = SecondQuantizedOperator.make_empty()
    a = Term(list_of_tensors, sq_op, 0.25)
    assert a.latex(
    ) == "1/4 H^{ v_{0} v_{1} }_{ c_{0} c_{1} } T^{ c_{0} c_{1} }_{ v_{0} v_{1} }"
    assert a.latex(
        dollar=True
    ) == "$1/4 H^{ v_{0} v_{1} }_{ c_{0} c_{1} } T^{ c_{0} c_{1} }_{ v_{0} v_{1} }$"
コード例 #3
0
def test_latex_3():
    list_of_tensors = [
        make_tensor('H', 'v3, v4', 'v0, c3'),
        make_tensor('T', 'c0, c1', 'v1, v3'),
        make_tensor('T', 'c2, c3', 'v2, v4')
    ]
    sq_op = make_sq('v0, v1, v2', 'c0, c1, c2')
    a = Term(list_of_tensors, sq_op, -1)

    ref = "-1/18 & {\\cal P} ( v_{0} / v_{1} / v_{2} ) {\\cal P} ( c_{0} c_{1} / c_{2} ) " \
          "H^{ v_{3} v_{4} }_{ v_{0} c_{3} } " \
          "T^{ c_{0} c_{1} }_{ v_{1} v_{3} } " \
          "T^{ c_{2} c_{3} }_{ v_{2} v_{4} } " \
          "a^{ v_{0} v_{1} v_{2} }_{ c_{0} c_{1} c_{2} } \\\\"

    assert a.latex(delimiter=True, backslash=True) == ref

    ref = "-1 H^{ v_{3} v_{4} }_{ v_{0} c_{3} } T^{ c_{0} c_{1} }_{ v_{1} v_{3} } " \
          "T^{ c_{2} c_{3} }_{ v_{2} v_{4} } a^{ v_{0} v_{1} v_{2} }_{ c_{0} c_{1} c_{2} }"

    assert a.latex(permute_format=False) == str(a) == ref
コード例 #4
0
def test_latex_2():
    a = Term([make_tensor('H', 'g0, h1', 'g0, p1')],
             make_sq('g0, p1', 'g0, h1'))
    ref = "1/4 & {\\cal P} ( g_{0} / p_{1} ) {\\cal P} ( g_{0} / h_{1} ) " \
          "H^{ g_{0} h_{1} }_{ g_{0} p_{1} } a^{ g_{0} p_{1} }_{ g_{0} h_{1} }"
    assert a.latex(delimiter=True) == ref