import numpy as np

c = 11*43 # c = p1*p2
a1 = np.random.rand(10).astype(complex)
a2 = np.random.rand(10).astype(complex)
b1 = np.random.rand(10).astype(complex)
b2 = np.random.rand(10).astype(complex)

while True:
    p1 = np.sum([a1[i] + 1j*a2[i] for i in range(10)]) * np.sum([b1[i] + 1j*b2[i] for i in range(10)])
    err = c/p1 + p1/c
    lr = np.random.rand(4) * 0.0001
    a1 -= lr[0] * err
    a2 += lr[1] * err
    b1 -= lr[2] * err
    b2 += lr[3] * err
    print(np.sum(err**2))
