私はセージ関数を書こうとしています。
次のコード ブロック B では、x0、x1、x2、x3 などの変数を使用します。コード ブロック B をコード ブロック A として一般化しようとしています。コード ブロック A の res[1] は、4 つの変数を含むリストです。ただし、実行すると、次のエラーが発生します。
**ValueError: variable names must be alphanumeric, but one is 'res[_sage_const_1 ]' which is not.**
コード ブロックがリスト要素を受け入れるようにする方法はありますか?
注: degreeAndMonomialsCalculate() は関数の次数を res[0] に返し、一意の単項式 (変数) を res[1] に返す単なる関数です。
コードブロックA
def annihilatorReturn(function):
res=degreeAndMonomialsCalculate(function)
A.<res[1]>=BooleanPolynomialRing(len(res[1]))
X=BooleanFunction(function)
B=X.annihilator(res[0])
return B
コードブロック B
def annihilatorReturn():
A.<x0,x1,x2,x3>=BooleanPolynomialRing(4)
Y=x0*x1*x2+x2*x1+x2*x3+x3*x1
X=BooleanFunction(Y)
B=X.annihilator(3)
return B