Решите численное уравнение быстро - PullRequest
1 голос
/ 28 февраля 2020

Я использую 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

1 Ответ

0 голосов
/ 28 февраля 2020

Я бы попробовал разные методы, упомянутые здесь

По моему опыту метод по умолчанию "hybr" работает очень хорошо.

...