Мне нужно получить три комплексных числа из набора из трех уравнений, который является частью процедуры исправления ошибок для набора S-параметров.
import numpy as np
G_A1 = -1 + 0j
G_A2 = 0 + 0j
G_A3 = 1 + 0j
G_M1 = -0.5323 - 0.0163j
G_M2 = -11.1951 - 37.7373j
G_M3 = 0.5528 + 0.1621j
a = np.array([[G_A1,G_A2,G_A3], [1,1,1], [(-G_A1*G_M1),(-G_A2*G_M2),(-G_A3,G_M3)]])
b = np.array([G_M1,G_M2,G_M3])
x = np.linalg.solve(a, b)
print(x)
Это дает мне ошибку
a = np.array([[G_A1,G_A2,G_A3], [1,1,1], [(-G_A1*G_M1),(-G_A2*G_M2),(-G_A3,G_M3)]])
TypeError: a float is required
Я подумал, что я мог бы также попытаться преобразовать комплексные значения в плавающее, но затем я получил эту ошибку.
G_M1 = float(-0.5323 - 0.0163j)
TypeError: can't convert complex to float
Если комплексные значения не могут быть преобразованы в плавающее, какой альтернативный метод мне следует использовать?используя здесь?