我正在研究海水狀態方程的Python版本(http://www.teos-10.org/)。庫取決於如p = f(t,d)
這樣的反轉方程式,如果您知道t
和d
,那麼您可以直接計算f(t,d)
,但通常有t
和p
。這只是一個根源發現問題,圖書館帶有使用牛頓,二分法或布倫特方法的選項。 (特別是布倫特方法,請參閱wiki https://en.wikipedia.org/wiki/Brent%27s_method。)布倫特算法的向量化版本(查找根)
但是,該庫找到單個值爲t
和p
的根。我想讓我的版本可以繪製和探索狀態方程,所以我想允許向量(numpy數組)的值爲t
和p
。向量化牛頓和對分方法相當簡單,但布倫特方法有很多條件,我無法理解。
有關如何矢量化此方法的任何提示?更重要的是,該向量化實際上是否比循環遍歷t
和p
數組中的值更快?
我假設你不僅僅使用['scipy.optimize.brent'](http://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy。 optimize.brent.html)? –
這個問題的設置是用't'和'p'來爲'd'找出'g(d; t,p)= 0'的根。據我所知,我希望能夠將數組用於't'和'p'而不是標量,標準scipy.optimize不會這樣做。 –