|
D.15.12.1 afaces
Procedure from library gitfan.lib (see gitfan_lib).
- Usage:
- afaces(a, b, c); a: ideal, d: int, c: int
- Purpose:
- Returns a list of all a-faces (represented by intvecs).
Moreover, it is possible to specify a dimensional bound b,
upon which only cones of that dimension and above are returned.
Lastly, as the computation is parallizable, one can specify c,
the number of cores to be used by the computation.
- Return:
- a list of intvecs
Example:
| LIB "gitfan.lib";
ring R = 0,T(1..3),dp;
ideal a = T(1)+T(2)+T(3);
list F = afaces(a,3,4);
print(F);
==> [1]:
==> 0
==> [2]:
==> 1,2,3
print(size(F));
==> 2
// 2nd ex //
ring R2 = 0,T(1..3),dp;
ideal a2 = T(2)^2*T(3)^2+T(1)*T(3);
list F2 = afaces(a2,3,4);
print(F2);
==> [1]:
==> 0
==> [2]:
==> 1,2,3
print(size(F2));
==> 2
// 3rd ex //
ring R3 = 0,T(1..3),dp;
ideal a3 = 0;
list F3 = afaces(a3,3,4);
print(F3);
==> [1]:
==> 0
==> [2]:
==> 1,2,3
print(size(F3));
==> 2
// bigger example //
ring R = 0,T(1..15),dp;
==> // ** redefining R (ring R = 0,T(1..15),dp;)
ideal a =
T(1)*T(10)-T(2)*T(7)+T(3)*T(6),
T(1)*T(11)-T(2)*T(8)+T(4)*T(6),
T(1)*T(12)-T(2)*T(9)+T(5)*T(6),
T(1)*T(13)-T(3)*T(8)+T(4)*T(7),
T(1)*T(14)-T(3)*T(9)+T(5)*T(7),
T(1)*T(15)-T(4)*T(9)+T(5)*T(8),
T(2)*T(13)-T(3)*T(11)+T(4)*T(10),
T(2)*T(14)-T(3)*T(12)+T(5)*T(10),
T(2)*T(15)-T(4)*T(12)+T(5)*T(11),
T(3)*T(15)-T(4)*T(14)+T(5)*T(13),
T(6)*T(13)-T(7)*T(11)+T(8)*T(10),
T(6)*T(14)-T(7)*T(12)+T(9)*T(10),
T(6)*T(15)-T(8)*T(12)+T(9)*T(11),
T(7)*T(15)-T(8)*T(14)+T(9)*T(13),
T(10)*T(15)-T(11)*T(14)+T(12)*T(13);
int t = timer;
list F4 = afaces(a,0,2);
print(size(F4));
==> 814
timer - t;
==> 17
int t = timer;
==> // ** redefining t (int t = timer;)
list F4 = afaces(a,0);
==> // ** redefining F4 (list F4 = afaces(a,0);)
print(size(F4));
==> 814
timer - t;
==> 16
|
|