This method returns an object of type SLProgram, which encodes a method for evaluating an algebraic circuit.
i1 : declareVariable X; declareVariable C; |
i3 : XpC = X+C o3 = (X + C) o3 : SumGate |
i4 : XXC = productGate{X,X,C}
o4 = (X * X * C)
o4 : ProductGate
|
i5 : detXCCX = detGate{{X,C},{C,X}}
o5 = det| X C |
| C X |
o5 : DetGate
|
i6 : XoC = X/C
X
o6 = -
C
o6 : DivideGate
|
i7 : slp = makeSLProgram(matrix{{C,X}},matrix{{XXC,detXCCX,XoC,XpC+2}})
o7 = SLProgram{cache => CacheTable{} }
constant positions => {-3}
constants => | 2 |
number of inputs => 2
number of outputs => 4
RawSLProgram => SLProgram (
consts+vars: 3
noninput nodes: 5
output nodes: 4
)
variable positions => {-1, -2}
o7 : SLProgram
|
The object makeSLProgram is a method function.