Example #1
0
def mean_u_err(ww, ff, N, method, golden_u):
    toterr = 0.0
    numseeds = 0
    for seed in seeds:
        t_u_cv_s_method = readandcompute.t_u_cv_s(ww, ff, N, method, seed)
        if t_u_cv_s_method != None:
            du = abs((t_u_cv_s_method[1] -
                      golden_u)[t_u_cv_s_method[0] > Tmax]).max()
            lw = 0.01
            if seed == 0:
                plt.plot(t_u_cv_s_method[0],
                         (t_u_cv_s_method[1] - golden_u) / N,
                         styles.plot(method),
                         label=styles.title(method),
                         linewidth=lw)
            else:
                plt.plot(t_u_cv_s_method[0],
                         (t_u_cv_s_method[1] - golden_u) / N,
                         styles.plot(method),
                         linewidth=lw)
            toterr += du
            numseeds += 1
    if numseeds > 0:
        return toterr / numseeds / N
    return None
Example #2
0
def mean_u_err(ww, ff, N, method, golden_u):
    toterr = 0.0
    numseeds = 0
    for seed in seeds:
        t_u_cv_s_method = readandcompute.t_u_cv_s(ww, ff, N, method, seed)
        if t_u_cv_s_method != None:
            du = abs((t_u_cv_s_method[1]-golden_u)[t_u_cv_s_method[0] > Tmax]).max()
            lw = 0.01
            if seed == 0:
                plt.plot(t_u_cv_s_method[0], (t_u_cv_s_method[1]-golden_u)/N,
                         styles.plot(method), label=styles.title(method), linewidth=lw)
            else:
                plt.plot(t_u_cv_s_method[0], (t_u_cv_s_method[1]-golden_u)/N,
                         styles.plot(method), linewidth=lw)
            toterr += du
            numseeds += 1
    if numseeds > 0:
        return toterr/numseeds/N
    return None
Example #3
0
            toterr += du
            numseeds += 1
    if numseeds > 0:
        return toterr / numseeds / N
    return None


labels_added = set()

for golden_comp in all_goldens:
    bits = golden_comp.split('-')
    ww = float(bits[1][2:])
    ff = float(bits[2][2:])
    N = int(bits[3][1:])
    print 'ww = %g, ff = %g, N = %d' % (ww, ff, N)
    t_u_cv_s = readandcompute.t_u_cv_s(ww, ff, N, golden)
    if t_u_cv_s != None:
        plt.figure(2)
        plt.cla()
        plt.title(r'error in $U/N$ for $N=%d$ and $\eta=%g$ and $\lambda=%g$' %
                  (N, ff, ww))
        plt.xlabel(r'$T$')
        plt.ylabel(r'$\Delta U$')

        golden_u = t_u_cv_s[1]
        reference_error = mean_u_err(ww, ff, N, reference, golden_u)
        if reference_error == None:
            continue
        print '    ', reference, reference_error
        for method in methods:
            plt.figure(2)
Example #4
0
reference = sys.argv[7]
#arg reference = ['cfw']

seeds = eval(sys.argv[8])
#arg seeds = [range(30)]

u_errors = {}
cv_errors = {}
s_errors = {}
for method in methods:
    u_errors[method] = numpy.zeros(len(Ns))
    cv_errors[method] = numpy.zeros(len(Ns))
    s_errors[method] = numpy.zeros(len(Ns))

for n in range(len(Ns)):
    golden_data = readandcompute.t_u_cv_s(ww, ff, Ns[n], golden)
    for method in methods:
        for seed in seeds:
            t_u_cv_s_method = readandcompute.t_u_cv_s(ww, ff, Ns[n], method, seed)
            du = abs((t_u_cv_s_method[1]-golden_data[1])[t_u_cv_s_method[0] > min_T]).max()
            dcv = abs((t_u_cv_s_method[2]-golden_data[2])[t_u_cv_s_method[0] > min_T]).max()
            ds = abs((t_u_cv_s_method[3]-golden_data[3])[t_u_cv_s_method[0] > min_T]).max()

            u_errors[method][n] += du
            cv_errors[method][n] += dcv
            s_errors[method][n] += ds

        u_errors[method][n] /= len(seeds)
        cv_errors[method][n] /= len(seeds)
        s_errors[method][n] /= len(seeds)
Example #5
0
reference = sys.argv[7]
# arg reference = ['cfw']

seeds = eval(sys.argv[8])
# arg seeds = [range(30)]

u_errors = {}
cv_errors = {}
s_errors = {}
for method in methods:
    u_errors[method] = numpy.zeros(len(Ns))
    cv_errors[method] = numpy.zeros(len(Ns))
    s_errors[method] = numpy.zeros(len(Ns))

for n in range(len(Ns)):
    golden_data = readandcompute.t_u_cv_s(ww, ff, Ns[n], golden)
    for method in methods:
        for seed in seeds:
            t_u_cv_s_method = readandcompute.t_u_cv_s(ww, ff, Ns[n], method, seed)
            du = abs((t_u_cv_s_method[1] - golden_data[1])[t_u_cv_s_method[0] > min_T]).max()
            dcv = abs((t_u_cv_s_method[2] - golden_data[2])[t_u_cv_s_method[0] > min_T]).max()
            ds = abs((t_u_cv_s_method[3] - golden_data[3])[t_u_cv_s_method[0] > min_T]).max()

            u_errors[method][n] += du
            cv_errors[method][n] += dcv
            s_errors[method][n] += ds

        u_errors[method][n] /= len(seeds)
        cv_errors[method][n] /= len(seeds)
        s_errors[method][n] /= len(seeds)
Example #6
0
                         styles.plot(method), linewidth=lw)
            toterr += du
            numseeds += 1
    if numseeds > 0:
        return toterr/numseeds/N
    return None

labels_added = set()

for golden_comp in all_goldens:
    bits = golden_comp.split('-')
    ww = float(bits[1][2:])
    ff = float(bits[2][2:])
    N = int(bits[3][1:])
    print 'ww = %g, ff = %g, N = %d' % (ww, ff, N)
    t_u_cv_s = readandcompute.t_u_cv_s(ww, ff, N, golden)
    if t_u_cv_s != None:
        plt.figure(2)
        plt.cla()
        plt.title(r'error in $U/N$ for $N=%d$ and $\eta=%g$ and $\lambda=%g$' % (N, ff, ww))
        plt.xlabel(r'$T$')
        plt.ylabel(r'$\Delta U$')

        golden_u = t_u_cv_s[1]
        reference_error = mean_u_err(ww, ff, N, reference, golden_u)
        if reference_error == None:
            continue
        print '    ', reference, reference_error
        for method in methods:
            plt.figure(2)
            method_err = mean_u_err(ww, ff, N, method, golden_u)