9
9
# and run the Quantics TTdmrg to approximate the constant function f=1
10
10
# w.r.t. the measure
12
N = 15 # Power of 2 for now
13
FORMATS = ['pdf','png','eps']
15
N = 31 # Power of 2 for now
13
16
P = S1D.Poly1D(S1D.HERMITEP_PROB,None)
14
17
(x,w) = P.Quadrature(N)
18
def f(x): return 1000. * np.exp(-npla.norm(x-5.)/(2*0.1**2.) )
21
# def f(x): return 1. + 1. * np.exp(-npla.norm(x-2.)/(2*1.**2.) )
22
# def f(x): return (x[0]-5.)**2. + (x[1]-5.)**2.
31
35
surrogateONOFF=True, surrogate_type=TT.PROJECTION, orders=[N]*2)
34
print "Fill level: %d/%d" % (WTT.TW.get_fill_level(), N**2)
38
FTT = TT.SQTT(fW, grids, params, marshal_f=False,
40
surrogateONOFF=True, surrogate_type=TT.PROJECTION, orders=[N]*2)
43
print "Fill level fW: %d/%d" % (WTT.TW.get_fill_level(), (N+1)**2)
44
print "Fill level f: %d/%d" % (FTT.TW.get_fill_level(), (N+1)**2)
36
46
fill_idxs = np.array(WTT.TW.get_fill_idxs())
38
48
plt.scatter(x[fill_idxs[:,0]],x[fill_idxs[:,1]])
39
plt.title("Filled idxs")
49
plt.title("Filled idxs - fW")
40
50
plt.show(block=False)
42
52
used_idxs = WTT.generic_approx[0].get_ttdmrg_eval_idxs()
44
54
plt.scatter(x[used_idxs[:,0]],x[used_idxs[:,1]],c='r')
45
plt.title("Final idxs")
55
plt.title("Final idxs - fW")
58
fill_idxs = np.array(FTT.TW.get_fill_idxs())
60
plt.scatter(x[fill_idxs[:,0]],x[fill_idxs[:,1]])
61
plt.title("Filled idxs - f")
64
used_idxs = FTT.generic_approx[0].get_ttdmrg_eval_idxs()
66
plt.scatter(x[used_idxs[:,0]],x[used_idxs[:,1]],c='r')
67
plt.title("Final idxs - f")
46
68
plt.show(block=False)
48
70
F = np.zeros((N+1,N+1))
57
79
X,Y = np.meshgrid(x,x)
82
plt.contourf(X,Y,F,30)
63
85
plt.show(block=False)
88
plt.contourf(X,Y,FW,30)
69
91
plt.show(block=False)
72
plt.contourf(X,Y,np.log10(F))
94
# plt.contourf(X,Y,np.log10(F))
95
# plt.title("log10(f)")
97
# plt.show(block=False)
78
plt.contourf(X,Y,np.log10(FW))
79
plt.title("log10(fW)")
100
# plt.contourf(X,Y,np.log10(FW))
101
# plt.title("log10(fW)")
103
# plt.show(block=False)