0

たとえば、a = b + cのようないくつかの変数の間には既知の関係があるとします。 a=2, b=1, c=1。私はいくつかのコードを書いています。 a=3の場合、bcの値を更新して、関係がまだ満たされるようにします。 b=2を設定してください(明らかに多くの可能性がありますが、私はただ一つが必要です)。方程式の解を求める

実際には多くの関係があり、線形ではありません。このコードは、各変数の関数を他の変数の関数として提供するユーザーを介して機能します。たとえば、a(b,c)b(a,c)、およびc(a,b)です。私は依存グラフを作成し、ある値が変更されると、他の値を更新するための幅優先探索のようなことを行います。これはうまくいくようですが、私は助けができませんが、私は車輪を再発明していると思っています。これは、コンピュータ科学/グラフ理論のいくつかの非常によく知られた問題です。おそらくパッケージさえありますか?

誰かがいくつかのリンクやいくつかの洞察力を提供することができます正確にこの問題は私が解決している?与えられた出発点に近い多次元関数(例えばF(a,b,c)=b+c-a)のルートを見つけるように見える

答えて

0

(例えばb=1, c=1。)

Wikiページには、1つの変数関数のルート発見方法を説明し、高次元のメソッドへのリンクがあります。これらの方法は、多次元最適化問題に関連している。

多くの実装があります:SciPy,GNU、Mathematica、Matlab、...