假设我有一个平方根的线性方程组
1 1 | 1
(1/2 + sqrt(5) / 2) (1/2 - sqrt(5) / 2) | 1
使用np.linalg.solve来解决这个方程组,我通常会这样做
vars = [[1, 1], [1/2 + sqrt(5)/2, -sqrt(5)/2 + 1/2]]
outcomes = [1, 1]
solution = np.linalg.solve(vars, outcomes)
#solution has to be only whole numbers, no crazy decimals. Preferably in the following form
[ sqrt(x), sqrt(y) ]
然而,这会返回错误,因为它不知道如何处理sqrt()。如何解决这个方根系统并得到全数,所以没有小数?
答案 0 :(得分:2)
我不确定您的问题,但是您可以使脚本像这样工作:
import math
import numpy as np
vars = [[1, 1], [1/2 + math.sqrt(5)/2, -math.sqrt(5)/2 + 1/2]]
outcomes = [1, 1]
solution = np.linalg.solve(vars, outcomes)
print("Solutions:", solution)