我的情况
我正在处理一个需要:
- 证明涉及矩阵操作的3D矩阵变换公式的正确性
- 找到具有未知矩阵条目值的模型。
我的问题
- 如何使用矩阵操作表达公式,以便它们可以通过
z3
求解?(在 Z3Py数独示例中使用的方法不太优雅,似乎不适用于更复杂的矩阵操作。)
谢谢。 - 如果有任何不清楚的地方,请留下问题评论。
我正在处理一个需要:
z3
求解?(在 Z3Py数独示例中使用的方法不太优雅,似乎不适用于更复杂的矩阵操作。)谢谢。 - 如果有任何不清楚的地方,请留下问题评论。
# nonlinear version, constants a_ij, b_i are variables
# x_1, x_2, a_11, a_12, a_21, a_22, b_1, b_2 = Reals('x_1 x_2 a_11 a_12 a_21 a_22 b_1 b_2')
# linear version (all numbers are defined values)
x_1, x_2 = Reals('x_1 x_2')
# A matrix
a_11 = 1
a_12 = 2
a_21 = 3
a_22 = 5
# b-vector
b_1 = 7
b_2 = 11
newx_1 = a_11 * x_1 + a_12 * x_2 + b_1
newx_2 = a_21 * x_1 + a_22 * x_2 + b_2
print newx_1
print newx_2
# solve using model generation
s = Solver()
s.add(newx_1 == 0) # pointers to equations
s.add(newx_2 == 5)
print s.check()
print s.model()
# solve using "solve"
solve(And(newx_1 == 0, newx_2 == 5))