> latt := proc(digits) > local i, j, v, saved_Digits, ltt; > saved_Digits := Digits; Digits := digits; > for i from 1 to 8 do > v[i] := []; > for j from 1 to 10 do v[i] := [op(v[i]), 0]; od; > v[i][i] := 1; > v[i][10] := trunc(10^digits * > evalf(Int(y^(i-1)/(1-y^8/16), > y=0..1, digits), digits)); > od; > v[9] := [0,0,0,0,0,0,0,0,1, > trunc(evalf(Pi*10^digits,digits+1))]; > ltt := []; > for i from 1 to 9 do ltt := [op(ltt), evalm(v[i])]; od; > Digits := saved_Digits; > RETURN(ltt); > end: > L := latt(25); L := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 10071844764146762286447600], [0, 1, 0, 0, 0, 0, 0, 0, 0, 5064768766674304809559394], [0, 0, 1, 0, 0, 0, 0, 0, 0, 3392302452451990725155853], [0, 0, 0, 1, 0, 0, 0, 0, 0, 2554128118829953416027570], [0, 0, 0, 0, 1, 0, 0, 0, 0, 2050025576364235339441503], [0, 0, 0, 0, 0, 1, 0, 0, 0, 1713170706664974589667328], [0, 0, 0, 0, 0, 0, 1, 0, 0, 1472019346726350271955981], [0, 0, 0, 0, 0, 0, 0, 1, 0, 1290770422751423433458478], [0, 0, 0, 0, 0, 0, 0, 0, 1, 31415926535897932384626434]] > readlib(lattice): > lattice(L); [[-4, 0, 0, 2, 1, 1, 0, 0, 1, 5], [0, -8, -4, -4, 0, 0, 1, 0, 2, 5], [-61, 582, 697, -1253, 453, -1003, -347, -396, 10, 559], [-333, 966, 324, -1656, -56, 784, 1131, -351, -27, 255], [429, 714, -1591, 778, -517, -1215, 598, 362, -87, 398], [-1046, -259, -295, -260, 1286, 393, 851, 800, 252, -1120], [494, 906, -380, -1389, 1120, 1845, -1454, -926, -218, 400], [1001, -1099, 422, 1766, 1405, -376, 905, -1277, -394, -30], [-1144, 491, -637, -736, -1261, -680, -1062, -1257, 637, -360]] > g := (8*y + 4*y^2 + 4*y^3 - y^6)/(1-y^8/16); 2 3 6 8 y + 4 y + 4 y - y g := ---------------------- 8 1 - 1/16 y > int(g, y=0..1); 2 Pi > >