def demo4(): theta = RiemannTheta_Function() z = np.array([1.j, .5 * 1.j, 1.j]) omegas = [] I = 1.j t_vals = np.linspace(1, 0, 10000) for t in t_vals: a = np.array([[-0.5 * t + I, 0.5 * t * (1 - I), -0.5 * t * (1 + I)], [0.5 * t * (1 - I), I, 0], [-0.5 * t * (1 + I), 0, I]]) omegas.append(a) print "z = (i, i, i), calculating z for 10,000 different Omegas" print print "Omegas = [-0.5*(1-t) + i 0.5*t*(1-i) -0.5*(1-t)*(1 + i)]" print " [0.5*(1-t)*(1-i) i 0]" print " [-0.5*(1-t)*(1+i) 0 i]" print "for 0 <= t <= 1" print print "Beginning Computation on the GPU" start = time.clock() v = theta.multiple_omega_process1(z, omegas, 3) print "Computation Finished, elapsed time: " + str(time.clock() - start) print print v print print "=================================" print "Beginning Computation on the CPU" start = time.clock() u = [] for i in range(10000): U, V = theta.exp_and_osc_at_point(z, omegas[i]) u.append(V) print "Computation Finished, elapsed time: " + str(time.clock() - start) print print np.array(v)
def demo4(): theta = RiemannTheta_Function() z = np.array([1.j, .5*1.j, 1.j]) omegas = [] I = 1.j t_vals = np.linspace(1, 0, 10000) for t in t_vals: a = np.array([[-0.5*t + I, 0.5*t*(1-I), -0.5*t*(1 + I)], [0.5*t*(1-I), I, 0], [-0.5*t*(1+I), 0, I]]) omegas.append(a) print "z = (i, i, i), calculating z for 10,000 different Omegas" print print "Omegas = [-0.5*(1-t) + i 0.5*t*(1-i) -0.5*(1-t)*(1 + i)]" print " [0.5*(1-t)*(1-i) i 0]" print " [-0.5*(1-t)*(1+i) 0 i]" print "for 0 <= t <= 1" print print "Beginning Computation on the GPU" start = time.clock() v = theta.multiple_omega_process1(z, omegas, 3) print "Computation Finished, elapsed time: " + str(time.clock() - start) print print v print print "=================================" print "Beginning Computation on the CPU" start = time.clock() u = [] for i in range(10000): U,V = theta.exp_and_osc_at_point(z,omegas[i]) u.append(V) print "Computation Finished, elapsed time: " + str(time.clock() - start) print print np.array(v)