aboutsummaryrefslogtreecommitdiff
path: root/src/Lagrange-tensor-product/fns.maple
blob: 9e9b67b85151183232d49a38f75b3bee49052fa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
# Maple code to define Lagrange interpolating functions/coords/coeffs
# $Header$

################################################################################

#
# 1-D interpolating functions
#

fn_1d_order1 :=
proc(x)
+ c0 + c1*x
end proc;

fn_1d_order2 :=
proc(x)
+ c0 + c1*x + c2*x^2
end proc;

fn_1d_order3 :=
proc(x)
+ c0 + c1*x + c2*x^2 + c3*x^3
end proc;

fn_1d_order4 :=
proc(x)
+ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4
end;

fn_1d_order5 :=
proc(x)
+ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5
end;

fn_1d_order6 :=
proc(x)
+ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 + c6*x^6
end;

########################################

# coordinates for 1-D interpolating functions
coords_list_1d := [x];

########################################

#
# coefficients in 1-D interpolating functions
#

coeffs_list_1d_order1 := [c0, c1];
coeffs_list_1d_order2 := [c0, c1, c2];
coeffs_list_1d_order3 := [c0, c1, c2, c3];
coeffs_list_1d_order4 := [c0, c1, c2, c3, c4];
coeffs_list_1d_order5 := [c0, c1, c2, c3, c4, c5];
coeffs_list_1d_order6 := [c0, c1, c2, c3, c4, c5, c6];

################################################################################

#
# 2-D interpolating functions (tensor-product)
#

fn_2d_order1 :=
proc(x,y)
+ c01*y + c11*x*y
+ c00   + c10*x
end proc;

fn_2d_order2 :=
proc(x,y)
+ c02*y^2 + c12*x*y^2 + c22*x^2*y^2
+ c01*y   + c11*x*y   + c21*x^2*y
+ c00     + c10*x     + c20*x^2
end proc;

fn_2d_order3 :=
proc(x,y)
+ c03*y^3 + c13*x*y^3 + c23*x^2*y^3 + c33*x^3*y^3
+ c02*y^2 + c12*x*y^2 + c22*x^2*y^2 + c32*x^3*y^2
+ c01*y   + c11*x*y   + c21*x^2*y   + c31*x^3*y
+ c00     + c10*x     + c20*x^2     + c30*x^3
end proc;

fn_2d_order4 :=
proc(x,y)
+ c04*y^4 + c14*x*y^4 + c24*x^2*y^4 + c34*x^3*y^4 + c44*x^4*y^4
+ c03*y^3 + c13*x*y^3 + c23*x^2*y^3 + c33*x^3*y^3 + c43*x^4*y^3
+ c02*y^2 + c12*x*y^2 + c22*x^2*y^2 + c32*x^3*y^2 + c42*x^4*y^2
+ c01*y   + c11*x*y   + c21*x^2*y   + c31*x^3*y   + c41*x^4*y
+ c00     + c10*x     + c20*x^2     + c30*x^3     + c40*x^4
end;

########################################

# coordinates for 2-D interpolating functions
coords_list_2d := [x,y];

########################################

#
# coefficients in 2-D interpolating functions (tensor-product)
#

coeffs_list_2d_order1 := [
			 c01, c11,
			 c00, c10
			 ];
coeffs_list_2d_order2 := [
			 c02, c12, c22,
			 c01, c11, c21,
			 c00, c10, c20
			 ];
coeffs_list_2d_order3 := [
			 c03, c13, c23, c33,
			 c02, c12, c22, c32,
			 c01, c11, c21, c31,
			 c00, c10, c20, c30
			 ];
coeffs_list_2d_order4 := [
			 c04, c14, c24, c34, c44,
			 c03, c13, c23, c33, c43,
			 c02, c12, c22, c32, c42,
			 c01, c11, c21, c31, c41,
			 c00, c10, c20, c30, c40
			 ];

################################################################################

#
# 3-D interpolating functions (tensor-product)
#

fn_3d_order1 :=
proc(x,y,z)
# z^1 -------------------
+ c011  *y*z + c111*x*y*z
+ c001    *z + c101*x  *z
# z^0 -------------------
+ c010  *y   + c110*x*y
+ c000       + c100*x
end proc;

fn_3d_order2 :=
proc(x,y,z)
# z^2 --------------------------------------------------
+ c022    *y^2*z^2 + c122*x  *y^2*z^2 + c222*x^2*y^2*z^2
+ c012    *y  *z^2 + c112*x  *y  *z^2 + c212*x^2*y  *z^2
+ c002        *z^2 + c102*x      *z^2 + c202*x^2    *z^2
# z   --------------------------------------------------
+ c021    *y^2*z   + c121*x  *y^2*z   + c221*x^2*y^2*z
+ c011    *y  *z   + c111*x  *y  *z   + c211*x^2*y  *z
+ c001        *z   + c101*x      *z   + c201*x^2    *z
# z^0 ------------------------------------------------
+ c020    *y^2     + c120*x  *y^2     + c220*x^2*y^2
+ c010    *y       + c110*x  *y       + c210*x^2*y
+ c000             + c100*x           + c200*x^2
end proc;

fn_3d_order3 :=
proc(x,y,z)
# z^3 ---------------------------------------------------------------------
+ c033    *y^3*z^3 + c133*x  *y^3*z^3 + c233*x^2*y^3*z^3 + c333*x^3*y^3*z^3
+ c023    *y^2*z^3 + c123*x  *y^2*z^3 + c223*x^2*y^2*z^3 + c323*x^3*y^2*z^3
+ c013    *y  *z^3 + c113*x  *y  *z^3 + c213*x^2*y  *z^3 + c313*x^3*y  *z^3
+ c003        *z^3 + c103*x      *z^3 + c203*x^2    *z^3 + c303*x^3    *z^3
# z^2 ---------------------------------------------------------------------
+ c032    *y^3*z^2 + c132*x  *y^3*z^2 + c232*x^2*y^3*z^2 + c332*x^3*y^3*z^2
+ c022    *y^2*z^2 + c122*x  *y^2*z^2 + c222*x^2*y^2*z^2 + c322*x^3*y^2*z^2
+ c012    *y  *z^2 + c112*x  *y  *z^2 + c212*x^2*y  *z^2 + c312*x^3*y  *z^2
+ c002        *z^2 + c102*x      *z^2 + c202*x^2    *z^2 + c302*x^3    *z^2
# z   ---------------------------------------------------------------------
+ c031    *y^3*z   + c131*x  *y^3*z   + c231*x^2*y^3*z   + c331*x^3*y^3*z
+ c021    *y^2*z   + c121*x  *y^2*z   + c221*x^2*y^2*z   + c321*x^3*y^2*z
+ c011    *y  *z   + c111*x  *y  *z   + c211*x^2*y  *z   + c311*x^3*y  *z
+ c001        *z   + c101*x      *z   + c201*x^2    *z   + c301*x^3    *z
# z^0 ---------------------------------------------------------------------
+ c030    *y^3     + c130*x  *y^3     + c230*x^2*y^3     + c330*x^3*y^3
+ c020    *y^2     + c120*x  *y^2     + c220*x^2*y^2     + c320*x^3*y^2
+ c010    *y       + c110*x  *y       + c210*x^2*y       + c310*x^3*y
+ c000             + c100*x           + c200*x^2         + c300*x^3
end proc;

fn_3d_order4 :=
proc(x,y,z)
# z^4 ----------------------------------------------------------------------------------------
+ c044    *y^4*z^4 + c144*x  *y^4*z^4 + c244*x^2*y^4*z^4 + c344*x^3*y^4*z^4 + c444*x^4*y^4*z^4
+ c034    *y^3*z^4 + c134*x  *y^3*z^4 + c234*x^2*y^3*z^4 + c334*x^3*y^3*z^4 + c434*x^4*y^3*z^4
+ c024    *y^2*z^4 + c124*x  *y^2*z^4 + c224*x^2*y^2*z^4 + c324*x^3*y^2*z^4 + c424*x^4*y^2*z^4
+ c014    *y  *z^4 + c114*x  *y  *z^4 + c214*x^2*y  *z^4 + c314*x^3*y  *z^4 + c414*x^4*y  *z^4
+ c004        *z^4 + c104*x      *z^4 + c204*x^2    *z^4 + c304*x^3    *z^4 + c404*x^4    *z^4
# z^3 ----------------------------------------------------------------------------------------
+ c043    *y^4*z^3 + c143*x  *y^4*z^3 + c243*x^2*y^4*z^3 + c343*x^3*y^4*z^3 + c443*x^4*y^4*z^3
+ c033    *y^3*z^3 + c133*x  *y^3*z^3 + c233*x^2*y^3*z^3 + c333*x^3*y^3*z^3 + c433*x^4*y^3*z^3
+ c023    *y^2*z^3 + c123*x  *y^2*z^3 + c223*x^2*y^2*z^3 + c323*x^3*y^2*z^3 + c423*x^4*y^2*z^3
+ c013    *y  *z^3 + c113*x  *y  *z^3 + c213*x^2*y  *z^3 + c313*x^3*y  *z^3 + c413*x^4*y  *z^3
+ c003        *z^3 + c103*x      *z^3 + c203*x^2    *z^3 + c303*x^3    *z^3 + c403*x^4    *z^3
# z^2 ----------------------------------------------------------------------------------------
+ c042    *y^4*z^2 + c142*x  *y^4*z^2 + c242*x^2*y^4*z^2 + c342*x^3*y^4*z^2 + c442*x^4*y^4*z^2
+ c032    *y^3*z^2 + c132*x  *y^3*z^2 + c232*x^2*y^3*z^2 + c332*x^3*y^3*z^2 + c432*x^4*y^3*z^2
+ c022    *y^2*z^2 + c122*x  *y^2*z^2 + c222*x^2*y^2*z^2 + c322*x^3*y^2*z^2 + c422*x^4*y^2*z^2
+ c012    *y  *z^2 + c112*x  *y  *z^2 + c212*x^2*y  *z^2 + c312*x^3*y  *z^2 + c412*x^4*y  *z^2
+ c002        *z^2 + c102*x      *z^2 + c202*x^2    *z^2 + c302*x^3    *z^2 + c402*x^4    *z^2
# z   ----------------------------------------------------------------------------------------
+ c041    *y^4*z   + c141*x  *y^4*z   + c241*x^2*y^4*z   + c341*x^3*y^4*z   + c441*x^4*y^4*z
+ c031    *y^3*z   + c131*x  *y^3*z   + c231*x^2*y^3*z   + c331*x^3*y^3*z   + c431*x^4*y^3*z
+ c021    *y^2*z   + c121*x  *y^2*z   + c221*x^2*y^2*z   + c321*x^3*y^2*z   + c421*x^4*y^2*z
+ c011    *y  *z   + c111*x  *y  *z   + c211*x^2*y  *z   + c311*x^3*y  *z   + c411*x^4*y  *z
+ c001        *z   + c101*x      *z   + c201*x^2    *z   + c301*x^3    *z   + c401*x^4    *z
# z^0 ----------------------------------------------------------------------------------------
+ c040    *y^4     + c140*x  *y^4     + c240*x^2*y^4     + c340*x^3*y^4     + c440*x^4*y^4
+ c030    *y^3     + c130*x  *y^3     + c230*x^2*y^3     + c330*x^3*y^3     + c430*x^4*y^3
+ c020    *y^2     + c120*x  *y^2     + c220*x^2*y^2     + c320*x^3*y^2     + c420*x^4*y^2
+ c010    *y       + c110*x  *y       + c210*x^2*y       + c310*x^3*y       + c410*x^4*y
+ c000             + c100*x           + c200*x^2         + c300*x^3         + c400*x^4
end;

fn_3d_order5 :=
proc(x,y,z)
# z^5 ----------------------------------------------------------------------------------------
+ c055    *y^5*z^5 + c155*x  *y^5*z^5 + c255*x^2*y^5*z^5 + c355*x^3*y^5*z^5 + c455*x^4*y^5*z^5 + c555*x^5*y^5*z^5
+ c045    *y^4*z^5 + c145*x  *y^4*z^5 + c245*x^2*y^4*z^5 + c345*x^3*y^4*z^5 + c445*x^4*y^4*z^5 + c545*x^5*y^4*z^5
+ c035    *y^3*z^5 + c135*x  *y^3*z^5 + c235*x^2*y^3*z^5 + c335*x^3*y^3*z^5 + c435*x^4*y^3*z^5 + c535*x^5*y^3*z^5
+ c025    *y^2*z^5 + c125*x  *y^2*z^5 + c225*x^2*y^2*z^5 + c325*x^3*y^2*z^5 + c425*x^4*y^2*z^5 + c525*x^5*y^2*z^5
+ c015    *y  *z^5 + c115*x  *y  *z^5 + c215*x^2*y  *z^5 + c315*x^3*y  *z^5 + c415*x^4*y  *z^5 + c515*x^5*y  *z^5
+ c005        *z^5 + c105*x      *z^5 + c205*x^2    *z^5 + c305*x^3    *z^5 + c405*x^4    *z^5 + c505*x^5    *z^5
# z^4 ----------------------------------------------------------------------------------------
+ c054    *y^5*z^4 + c154*x  *y^5*z^4 + c254*x^2*y^5*z^4 + c354*x^3*y^5*z^4 + c454*x^4*y^5*z^4 + c554*x^5*y^5*z^4
+ c044    *y^4*z^4 + c144*x  *y^4*z^4 + c244*x^2*y^4*z^4 + c344*x^3*y^4*z^4 + c444*x^4*y^4*z^4 + c544*x^5*y^4*z^4
+ c034    *y^3*z^4 + c134*x  *y^3*z^4 + c234*x^2*y^3*z^4 + c334*x^3*y^3*z^4 + c434*x^4*y^3*z^4 + c534*x^5*y^3*z^4
+ c024    *y^2*z^4 + c124*x  *y^2*z^4 + c224*x^2*y^2*z^4 + c324*x^3*y^2*z^4 + c424*x^4*y^2*z^4 + c524*x^5*y^2*z^4
+ c014    *y  *z^4 + c114*x  *y  *z^4 + c214*x^2*y  *z^4 + c314*x^3*y  *z^4 + c414*x^4*y  *z^4 + c514*x^5*y  *z^4
+ c004        *z^4 + c104*x      *z^4 + c204*x^2    *z^4 + c304*x^3    *z^4 + c404*x^4    *z^4 + c504*x^5    *z^4
# z^3 ----------------------------------------------------------------------------------------
+ c053    *y^5*z^3 + c153*x  *y^5*z^3 + c253*x^2*y^5*z^3 + c353*x^3*y^5*z^3 + c453*x^4*y^5*z^3 + c553*x^5*y^5*z^3
+ c043    *y^4*z^3 + c143*x  *y^4*z^3 + c243*x^2*y^4*z^3 + c343*x^3*y^4*z^3 + c443*x^4*y^4*z^3 + c543*x^5*y^4*z^3
+ c033    *y^3*z^3 + c133*x  *y^3*z^3 + c233*x^2*y^3*z^3 + c333*x^3*y^3*z^3 + c433*x^4*y^3*z^3 + c533*x^5*y^3*z^3
+ c023    *y^2*z^3 + c123*x  *y^2*z^3 + c223*x^2*y^2*z^3 + c323*x^3*y^2*z^3 + c423*x^4*y^2*z^3 + c523*x^5*y^2*z^3
+ c013    *y  *z^3 + c113*x  *y  *z^3 + c213*x^2*y  *z^3 + c313*x^3*y  *z^3 + c413*x^4*y  *z^3 + c513*x^5*y  *z^3
+ c003        *z^3 + c103*x      *z^3 + c203*x^2    *z^3 + c303*x^3    *z^3 + c403*x^4    *z^3 + c503*x^5    *z^3
# z^2 ----------------------------------------------------------------------------------------
+ c052    *y^5*z^2 + c152*x  *y^5*z^2 + c252*x^2*y^5*z^2 + c352*x^3*y^5*z^2 + c452*x^4*y^5*z^2 + c552*x^5*y^5*z^2
+ c042    *y^4*z^2 + c142*x  *y^4*z^2 + c242*x^2*y^4*z^2 + c342*x^3*y^4*z^2 + c442*x^4*y^4*z^2 + c542*x^5*y^4*z^2
+ c032    *y^3*z^2 + c132*x  *y^3*z^2 + c232*x^2*y^3*z^2 + c332*x^3*y^3*z^2 + c432*x^4*y^3*z^2 + c532*x^5*y^3*z^2
+ c022    *y^2*z^2 + c122*x  *y^2*z^2 + c222*x^2*y^2*z^2 + c322*x^3*y^2*z^2 + c422*x^4*y^2*z^2 + c522*x^5*y^2*z^2
+ c012    *y  *z^2 + c112*x  *y  *z^2 + c212*x^2*y  *z^2 + c312*x^3*y  *z^2 + c412*x^4*y  *z^2 + c512*x^5*y  *z^2
+ c002        *z^2 + c102*x      *z^2 + c202*x^2    *z^2 + c302*x^3    *z^2 + c402*x^4    *z^2 + c502*x^5    *z^2
# z   ----------------------------------------------------------------------------------------
+ c051    *y^5*z   + c151*x  *y^5*z   + c251*x^2*y^5*z   + c351*x^3*y^5*z   + c451*x^4*y^5*z + c551*x^5*y^5*z
+ c041    *y^4*z   + c141*x  *y^4*z   + c241*x^2*y^4*z   + c341*x^3*y^4*z   + c441*x^4*y^4*z + c541*x^5*y^4*z
+ c031    *y^3*z   + c131*x  *y^3*z   + c231*x^2*y^3*z   + c331*x^3*y^3*z   + c431*x^4*y^3*z + c531*x^5*y^3*z
+ c021    *y^2*z   + c121*x  *y^2*z   + c221*x^2*y^2*z   + c321*x^3*y^2*z   + c421*x^4*y^2*z + c521*x^5*y^2*z
+ c011    *y  *z   + c111*x  *y  *z   + c211*x^2*y  *z   + c311*x^3*y  *z   + c411*x^4*y  *z + c511*x^5*y  *z
+ c001        *z   + c101*x      *z   + c201*x^2    *z   + c301*x^3    *z   + c401*x^4    *z + c501*x^5    *z
# z^0 ---------------------------------------------------------------------------------------------------
+ c050    *y^5     + c150*x  *y^5     + c250*x^2*y^5     + c350*x^3*y^5     + c450*x^4*y^5 + c550*x^5*y^5
+ c040    *y^4     + c140*x  *y^4     + c240*x^2*y^4     + c340*x^3*y^4     + c440*x^4*y^4 + c540*x^5*y^4
+ c030    *y^3     + c130*x  *y^3     + c230*x^2*y^3     + c330*x^3*y^3     + c430*x^4*y^3 + c530*x^5*y^3
+ c020    *y^2     + c120*x  *y^2     + c220*x^2*y^2     + c320*x^3*y^2     + c420*x^4*y^2 + c520*x^5*y^2
+ c010    *y       + c110*x  *y       + c210*x^2*y       + c310*x^3*y       + c410*x^4*y   + c510*x^5*y
+ c000             + c100*x           + c200*x^2         + c300*x^3         + c400*x^4     + c500*x^5
end;

########################################

# coordinates for 3-D interpolating functions
coords_list_3d := [x,y,z];

########################################

#
# coefficients in 3-D interpolating functions
#

coeffs_list_3d_order1 := [
			 # z^1 -----
			 c011, c111,
			 c001, c101,
			 # z^0 -----
			 c010, c110,
			 c000, c100
			 ];
coeffs_list_3d_order2 := [
			 # z^2 -----------
			 c022, c122, c222,
			 c012, c112, c212,
			 c002, c102, c202,
			 # z^1 -----------
			 c021, c121, c221,
			 c011, c111, c211,
			 c001, c101, c201,
			 # z^0 -----------
			 c020, c120, c220,
			 c010, c110, c210,
			 c000, c100, c200
			 ];
coeffs_list_3d_order3 := [
			 # z^3 -----------------
			 c033, c133, c233, c333,
			 c023, c123, c223, c323,
			 c013, c113, c213, c313,
			 c003, c103, c203, c303,
			 # z^2 -----------------
			 c032, c132, c232, c332,
			 c022, c122, c222, c322,
			 c012, c112, c212, c312,
			 c002, c102, c202, c302,
			 # z^1 -----------------
			 c031, c131, c231, c331,
			 c021, c121, c221, c321,
			 c011, c111, c211, c311,
			 c001, c101, c201, c301,
			 # z^0 -----------------
			 c030, c130, c230, c330,
			 c020, c120, c220, c320,
			 c010, c110, c210, c310,
			 c000, c100, c200, c300
			 ];
coeffs_list_3d_order4 := [
			 # z^4 -----------------------
			 c044, c144, c244, c344, c444,
			 c034, c134, c234, c334, c434,
			 c024, c124, c224, c324, c424,
			 c014, c114, c214, c314, c414,
			 c004, c104, c204, c304, c404,
			 # z^3 -----------------------
			 c043, c143, c243, c343, c443,
			 c033, c133, c233, c333, c433,
			 c023, c123, c223, c323, c423,
			 c013, c113, c213, c313, c413,
			 c003, c103, c203, c303, c403,
			 # z^2 -----------------------
			 c042, c142, c242, c342, c442,
			 c032, c132, c232, c332, c432,
			 c022, c122, c222, c322, c422,
			 c012, c112, c212, c312, c412,
			 c002, c102, c202, c302, c402,
			 # z^1 -----------------------
			 c041, c141, c241, c341, c441,
			 c031, c131, c231, c331, c431,
			 c021, c121, c221, c321, c421,
			 c011, c111, c211, c311, c411,
			 c001, c101, c201, c301, c401,
			 # z^0 -----------------------
			 c040, c140, c240, c340, c440,
			 c030, c130, c230, c330, c430,
			 c020, c120, c220, c320, c420,
			 c010, c110, c210, c310, c410,
			 c000, c100, c200, c300, c400
			 ];
coeffs_list_3d_order5 := [
			 # z^5 -----------------------
			 c055, c155, c255, c355, c455, c555,
			 c045, c145, c245, c345, c445, c545,
			 c035, c135, c235, c335, c435, c535,
			 c025, c125, c225, c325, c425, c525,
			 c015, c115, c215, c315, c415, c515,
			 c005, c105, c205, c305, c405, c505,
			 # z^4 -----------------------
			 c054, c154, c254, c354, c454, c554,
			 c044, c144, c244, c344, c444, c544,
			 c034, c134, c234, c334, c434, c534,
			 c024, c124, c224, c324, c424, c524,
			 c014, c114, c214, c314, c414, c514,
			 c004, c104, c204, c304, c404, c504,
			 # z^3 -----------------------
			 c053, c153, c253, c353, c453, c553,
			 c043, c143, c243, c343, c443, c543,
			 c033, c133, c233, c333, c433, c533,
			 c023, c123, c223, c323, c423, c523,
			 c013, c113, c213, c313, c413, c513,
			 c003, c103, c203, c303, c403, c503,
			 # z^2 -----------------------
			 c052, c152, c252, c352, c452, c552,
			 c042, c142, c242, c342, c442, c542,
			 c032, c132, c232, c332, c432, c532,
			 c022, c122, c222, c322, c422, c522,
			 c012, c112, c212, c312, c412, c512,
			 c002, c102, c202, c302, c402, c502,
			 # z^1 -----------------------
			 c051, c151, c251, c351, c451, c551,
			 c041, c141, c241, c341, c441, c541,
			 c031, c131, c231, c331, c431, c531,
			 c021, c121, c221, c321, c421, c521,
			 c011, c111, c211, c311, c411, c511,
			 c001, c101, c201, c301, c401, c501,
			 # z^0 -----------------------
			 c050, c150, c250, c350, c450, c550,
			 c040, c140, c240, c340, c440, c540,
			 c030, c130, c230, c330, c430, c530,
			 c020, c120, c220, c320, c420, c520,
			 c010, c110, c210, c310, c410, c510,
			 c000, c100, c200, c300, c400, c500
			 ];

################################################################################