我要生成許多發電機一FreeAlgebra,索引變量迭代器
X=[var('X_%d%d' %(i,j)) for i in range(1,10) for j in range(i+1,10)]
F = FreeAlgebra(QQ, X)
F.inject_variables()
我怎麼能指數隨迭代器變量,恩。像寫關係的字典F中
X_ij * X_jk : X_jk * X_ij + X_ik, for i in range(1,10) for j in range(i+1,10) for k in range(j+1,10) ?
那麼我需要
A = F.g_algebra(D)
它的工作原理,如果我分開來寫每個關係,X_12 * X_23:X_23 * X_12 + X_13,但我想它爲任何數量的變量工作。
我試着用
X[i]*X[j] : X[j]*X[i] + X[some formula],
但似乎列表X不知道它的元素是從代數F(也沒有)。
這可能是一個非常基本的問題 - 我是賢者中新鮮的新手。 感謝您的幫助。
這是正確的,'X'仍然會認爲它的元素是符號元素。你可能會得到'[F(x)for x in X]'的結果 - 我不知道強制如何工作,也不知道FreeAlgebra語法如何用冒號工作,但無論如何它值得一試。 – kcrisman
與X [i]'相同。例如,'[x * X_12 for x in X]'給了我:'TypeError:'*'不支持的操作數父項:'符號環'和 'Noncommutative Multivariate Polynomial Ring in ...' –
我認爲你必須將所有的東西強制轉換爲'F'。我現在有時間給出一個完整的答案。 – kcrisman