Home Online Manual
Top
Back: zdd2poly
Forward: Experimental libraries
FastBack:
FastForward:
Up: polybori_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.14.4.18 disp_zdd

Procedure from library polybori.lib (see polybori_lib).

Usage:
disp_zdd(ss); zero-supressed decision diagram ss

Return:
string containing visualization of ss

Note:
the resulting string is the visualization of the polynomial that corresponds to ss, but with a additional structure that comes from the zdd. Every reached else- Branch induces a new line in the string.

Example:
 
LIB "polybori.lib";
==> // ** args must be 1 in     system("install", "bideal",   "ideal",    bid\
   eal2ideal, 4);
ring r1=0,(x,y,z),Dp;
poly f1=xyz+xy+xz+yz+y+z+x+1;
zdd s1=f1;
disp_zdd(s1);
==>  x1(x2(x3+1)+
==>        x3+1)+
==>     x2(x3+1)+
==>        x3+1
ring r2=0,x(1..6),Dp;
poly f2=x(1)+x(2)+x(3)+x(5)^2+x(6);
zdd s2=f2;
disp_zdd(s2);
==>  x1+
==>     x2+
==>        x3+
==>           x5+
==>              x6
ring r4=0,x(1..6),Dp;
poly f2=x(1)+1;
zdd s2=f2;
==> // ** redefining s2 (zdd s2=f2;)
disp_zdd(s2);
==>  x1+1
ring r2=0,x(1..6),Dp;
==> // ** redefining r2 (ring r2=0,x(1..6),Dp;)
poly f2=x(1)*x(2)*(x(3)-x(5)^2*x(6))+3*x(4)*x(5)-3;
zdd s2=f2;
==> // ** redefining s2 (zdd s2=f2;)
disp_zdd(s2);
==>  x1(x2(x3+
==>           x5(x6)))+
==>     x4(x5)+1
poly f4=0;
zdd s4=f4;
disp_zdd(s4);
==> 0
poly f5=1;
zdd s5=f5;
disp_zdd(s5);
==> 1
See also: poly2zdd; zdd2poly.