1

私はセージ関数を書こうとしています。

次のコード ブロック 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
4

1 に答える 1