I need to test an n-variable Boolean Function
f = f(x0,...,xn-1). I need to fix x0, then run some tests for the
g1 = f(x1,...,xn-1), then fix x1 and so on.
The problem is that I don’t really understand how to do it with Sage.
At first, I tried to create a vector of values, that controls "fixing" of the variables
R.<x0,x1,x2,x3> = BooleanPolynomialRing() v = [None,1,None, 0] if v != None: x0=v if v != None: x1=v if v != None: x2=v if v != None: x3=v f = BooleanFunction(x0+x3+x0*x1+x0*x1*x2) print(f.algebraic_normal_form()) output:x0*x2
This works fine, but it doesn’t fit my task because I want to be able to automate the fixing process.
I want to replace the "
if"s with a loop, but in this case, I don’t know how to address variables inside the loop using indexes.
I’m new to Sage so I would appreciate any advice!