next | previous | forward | backward | up | top | index | toc | Macaulay2 website
SLPexpressions :: compressing circuits

compressing circuits

Synopsis

These commands attempt to remove superfluous operations involving constants from the building blocks of an SLProgram. The example below is contrived, but illustrates what may happen in general.

i1 : declareVariable \ {a,b,c}

o1 = {a, b, c}

o1 : List
i2 : x = inputGate 1

o2 = 1

o2 : InputGate
i3 : y = inputGate 2

o3 = 2

o3 : InputGate
i4 : G = gateMatrix{{(x+y)+3+4+b+4+c+4*(a+b+2)}}

o4 = {{(((((((1 + 2) + 3) + 4) + b) + 4) + c) + (4 * ((a + b) + 2)))}}

o4 : GateMatrix
i5 : cG = compress G

o5 = {{(((4 + (10 + b)) + c) + (4 * (2 + (a + b))))}}

o5 : GateMatrix
i6 : depth G

o6 = 7
i7 : depth cG

o7 = 4
i8 : countGates G

o8 = HashTable{cache => CacheTable{...17...}}
               InputGate => 7
               ProductGate => 1
               SumGate => 9

o8 : HashTable
i9 : countGates cG

o9 = HashTable{cache => CacheTable{...13...}}
               InputGate => 6
               ProductGate => 1
               SumGate => 6

o9 : HashTable

See also