Beispiel #1
0
            AP = AdolcProgram()
            AP.trace_on(1)
            aA = adouble(A)
            AP.independent(aA)
            aQ, aR = qr(aA)
            AP.dependent(aQ)
            AP.dependent(aR)
            AP.trace_off()

            for r in range(repetitions):

                A = A_data[:, :, 0, 0]
                # compute push forward
                VA = A_data[:, :, :, 1:]
                tic = time()
                out = AP.forward([A], [VA])
                toc = time()
                runtime_pyadolc_push_forward = toc - tic

                adolc_Q = out[0][0]
                adolc_R = out[0][1]
                adolc_VQ = out[1][0]
                adolc_VR = out[1][1]

                # compute pullback
                WQ = Qbar_data
                WR = Rbar_data
                tic = time()
                out = AP.reverse([WQ, WR])
                toc = time()
                runtime_pyadolc_pullback = toc - tic
Beispiel #2
0
            AP = AdolcProgram()
            AP.trace_on(1)
            aA = adouble(A)
            AP.independent(aA)
            aQ, aR = qr(aA)
            AP.dependent(aQ)
            AP.dependent(aR)
            AP.trace_off()

            for r in range(repetitions):

                A = A_data[:,:,0,0]
                # compute push forward
                VA = A_data[:,:,:,1:]
                tic = time()
                out = AP.forward([A],[VA])
                toc = time()
                runtime_pyadolc_push_forward = toc - tic

                adolc_Q = out[0][0]
                adolc_R = out[0][1]
                adolc_VQ = out[1][0]
                adolc_VR = out[1][1]

                # compute pullback
                WQ = Qbar_data
                WR = Rbar_data
                tic = time()
                out = AP.reverse([WQ, WR])
                toc = time()
                runtime_pyadolc_pullback = toc - tic
Beispiel #3
0
# time PYADOLC hos_forward
x = numpy.random.rand(N)
V = numpy.random.rand(N, D - 1)

start_time = time.time()
for rep in range(reps):
    adolc.hos_forward(1, x, V, keep=0)
end_time = time.time()
time_hos_forward_adolc = end_time - start_time

# time PYADOLC.cgraph hos_forward
x = numpy.random.rand(N)
V = numpy.random.rand(N, 1, D - 1)
for rep in range(reps):
    ap.forward([x], [V])
end_time = time.time()
time_hos_forward_cgraph = end_time - start_time

# time ALGOPY hov_forward
x = UTPM(numpy.random.rand(D, P, N))
start_time = time.time()
for rep in range(reps):
    cg.pushforward([x])
end_time = time.time()
time_hov_forward_algopy = end_time - start_time

# time PYADOLC hov_forward
x = numpy.random.rand(N)
V = numpy.random.rand(N, P, D - 1)
Beispiel #4
0
# time PYADOLC hos_forward
x = numpy.random.rand(N)
V = numpy.random.rand(N, D - 1)

start_time = time.time()
for rep in range(reps):
    adolc.hos_forward(1, x, V, keep=0)
end_time = time.time()
time_hos_forward_adolc = end_time - start_time

# time PYADOLC.cgraph hos_forward
x = numpy.random.rand(N)
V = numpy.random.rand(N, 1, D - 1)
for rep in range(reps):
    ap.forward([x], [V])
end_time = time.time()
time_hos_forward_cgraph = end_time - start_time

# time ALGOPY hov_forward
x = UTPM(numpy.random.rand(D, P, N))
start_time = time.time()
for rep in range(reps):
    cg.pushforward([x])
end_time = time.time()
time_hov_forward_algopy = end_time - start_time

# time PYADOLC hov_forward
x = numpy.random.rand(N)
V = numpy.random.rand(N, P, D - 1)