0

假設我在一些變量之間有一些已知的關係,例如a = b + c和一個起始解決方案,例如, a=2, b=1, c=1。我正在編寫一些代碼,以便在給定更新的情況下a=3,我更新了bc的值,以便該關係仍然滿足,例如,設置爲b=2(顯然有很多可能性,我只需要一個)。找到一組方程的解

實際上,有很多關係,它們不是線性的。該代碼通過用戶爲每個變量提供函數作爲其他函數的工作原理工作,例如a(b,c),b(a,c)c(a,b)。然後,我構建一個依賴關係圖,當一個值發生變化時,我會執行一些像廣度優先搜索一樣的操作來更新其他值。這似乎奏效,但我不禁想到我正在重新發明輪子,這是一個非常着名的計算機科學/圖論問題。也許甚至有一個包?

任何人都可以提供一些鏈接或一些洞察,究竟是什麼問題是我正在解決?

回答

0

這看起來就像找到多維函數的根(如F(a,b,c)=b+c-a)接近於定的起始點(如b=1, c=1

Wiki頁描述了一個變量函數求根方法和具有指向更高維方法。這些方法與多維優化問題相關。

有許多實現:SciPyGNU,數學,MATLAB,...