예제 #1
0
        print_str = ''
        for j in range(Ny-1):
            print_str += '{} '.format(density_top[0][i][j])
        print(print_str)
    for i in range(Nx):
        print_str = ''
        for j in range(Ny-1):
            print_str += '{} '.format(density_bot[0][i][j])
        print(print_str)
    print('Horizontal Density')
    for i in range(Ny):
        print_str = ''
        for j in range(Nx-1):
            print_str += '{} '.format(density_top[1][i][j])
        print(print_str)
    for i in range(Ny):
        print_str = ''
        for j in range(Nx-1):
            print_str += '{} '.format(density_bot[1][i][j])
        print(print_str)

    # Increase PEPS D if wanted
    if (len(D)-1 > ind):
        if (D[ind+1] > D[ind]):
            peps.increase_mbd(D[ind+1],chi=chi[ind+1])
        peps.chi = chi[ind+1]
        if (D[ind+1] > D[ind]):
            pepsl.increase_mbd(D[ind+1],chi=chi[ind+1])
        pepsl.chi = chi[ind+1]
        peps.normalize()
예제 #2
0
pepsl = PEPS(Nx,
             Ny,
             d,
             D[0],
             chi[0],
             fname=fnamel,
             fdir=savedir,
             norm_tol=0.5,
             norm_bs_upper=3.,
             norm_bs_lower=0.)

# Loop over all optimizaton parameters
for ind in range(len(D)):
    # Update PEPS Parameters
    pepsl.D = D[ind]
    pepsl.chi = chi[ind]
    pepsl.fname = prepend + "Nx{}_Ny{}_sx{}_sy{}_D{}_chi{}_run_left".format(
        Nx, Ny, sxind, syind, D[ind], chi[ind])

    # --------------------------------------------------------------------
    # Calculate left eigenstate
    for i in range(5):
        try:
            Efl, pepsl = run_tebd(Nx,
                                  Ny,
                                  d,
                                  opsl,
                                  peps=pepsl,
                                  D=D[ind],
                                  chi=chi[ind],
                                  n_step=n_step[ind],
예제 #3
0
pepsl = PEPS(Nx,
             Ny,
             d,
             D[0],
             chi[0],
             fname=fnamel,
             fdir=savedir,
             norm_tol=0.5,
             norm_bs_upper=3.,
             norm_bs_lower=0.)

# Loop over all optimizaton parameters
for ind in range(len(D)):
    # Update PEPS Parameters
    peps.D = D[ind]
    peps.chi = chi[ind]
    peps.fname = "Nx{}_Ny{}_sx{}_sy{}_D{}_chi{}_run_right".format(
        Nx, Ny, sxind, syind, D[ind], chi[ind])
    pepsl.fname = "Nx{}_Ny{}_sx{}_sy{}_D{}_chi{}_run_left".format(
        Nx, Ny, sxind, syind, D[ind], chi[ind])

    # --------------------------------------------------------------------
    # Calculate right eigenstate
    for i in range(5):
        try:
            Ef, peps = run_tebd(Nx,
                                Ny,
                                d,
                                ops,
                                peps=peps,
                                D=D[ind],