Python 求解未知量为向量的非线性方程组的最佳方法?

Python 求解未知量为向量的非线性方程组的最佳方法?,python,numpy,scipy,linear-algebra,numerical-methods,Python,Numpy,Scipy,Linear Algebra,Numerical Methods,我有以下方程描述了我想要解决的几何反问题: 一般来说,问题是3D的,所以对于每个列出的向量方程,我得到三个方程(每个方向一个)。 Pstar\u i、n\u r、i、n\u d和P是未知向量。 i表示我测量的数据点(对于每个数据点,我测量n_s,i和R_i,并引入未知量Pstar_i和n_R,i)。因此,每个数据点引入6个未知分量和9个分量方程。因此,如果我有两个数据点,系统将变得可解(因为在这种情况下,我有18个分量方程和18个未知数)。然而,由于数据可能会被噪声等破坏,我将测量2个以上的点

我有以下方程描述了我想要解决的几何反问题:

一般来说,问题是3D的,所以对于每个列出的向量方程,我得到三个方程(每个方向一个)。 Pstar\u in\u r、in\u dP是未知向量。 i表示我测量的数据点(对于每个数据点,我测量n_s,iR_i,并引入未知量Pstar_in_R,i)。因此,每个数据点引入6个未知分量和9个分量方程。因此,如果我有两个数据点,系统将变得可解(因为在这种情况下,我有18个分量方程和18个未知数)。然而,由于数据可能会被噪声等破坏,我将测量2个以上的点,并找到最佳拟合

据我所知,这是一个非线性向量方程组。我试着写下每个组件的等式,但这确实很耗时,并且产生了很难阅读的代码。您可以在其中找到一个2D示例,我使用python
scipy
fsolve
解决了这个系统

我的问题是:有没有更好的方法?是否有一个数值解算器,可以采用上图所示的向量方程,而无需写出每个分量?或者,总的来说,我是否应该采用另一种解决策略来发现未知因素?非常感谢