Я использую scipy.optimize.newton_krylov
для решения проблемы, описанной ниже. Тем не менее, это довольно медленно (это сделано для тысяч очков). Даже если мое первоначальное предположение очень близко к решению, оно медленное. Это заставляет меня задуматься, есть ли лучший способ сделать это.
Какой самый быстрый способ найти трехмерную точку (x,y,z)=pvec
, которая удовлетворяет трем уравнениям el1, el2 и el3 (например, минимизировать норму вектор [el1, el2, el3]).
sr1=np.sqrt(np.sum( (pvec - p2)**2 ))
sr2=np.sqrt(np.sum( (pvec - p1)**2 ))
el1=(sr1 + sr2)/(2.0*scalar1) - 1.0
el2=np.sum( (pvec/scalar2)**2 ) - 1.0
el3=np.dot(v1,(pvec - p1) )/(sr1*scalar3) + \
np.dot(v2,(pvec - p2) )/(sr2*scalar3) - 1.0