我在SageMath(基于Python)工作,我对编程很新,我有以下问题。在我的计算中,我有一个二次形式:x ^ TAx = b,其中矩阵A已被定义为对称矩阵,x被定义为
import itertools
X = itertools.product([0,1], repeat = n)
for x in X:
x = vector(x)
print x
因为[0,1]的所有组合重复了n次。我通过以下方式得到了一组b的值:
import itertools
X = itertools.product([0,1], repeat = n)
results = []
for x in X:
x = vector(x)
x = x.row()
v = x.transpose()
b = x * A * v
results.append(b[0, 0])
然后我定义了:
U = set(results)
U1 = sorted(U)
A = []
for i in U1:
U2 = round(i, 2)
A.append(U2)
所以我有一个排序集来获得我的结果的一些最小值。我需要从集合中提取最小值,并确定哪个特定x对应于b的每个值。我听说我可以使用字典方法并在那里定义preimages,但我真的很难将我的字典定义为{key:value}。有人可以帮助我,解决问题或让我知道我应该考虑哪个方向?谢谢。