求平方根线性方程组

时间:2018-04-13 08:41:54

标签: python numpy matrix linear-algebra gaussian

假设我有一个平方根的线性方程组

  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()。如何解决这个方根系统并得到全数,所以没有小数?

1 个答案:

答案 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)