root(method=’krylov’)#
- scipy.optimize.root(fun, x0, args=(), method='hybr', jac=None, tol=None, callback=None, options=None)
Siehe auch
Für die Dokumentation der restlichen Parameter siehe
scipy.optimize.root- Optionen:
- ——-
- nitint, optional
Anzahl der durchzuführenden Iterationen. Wenn weggelassen (Standard), werden so viele Iterationen durchgeführt, wie zur Erfüllung der Toleranzen erforderlich sind.
- dispbool, optional
Gibt bei jeder Iteration den Status auf stdout aus.
- maxiterint, optional
Maximale Anzahl der durchzuführenden Iterationen.
- ftolfloat, optional
Relative Toleranz für das Residuum. Wenn weggelassen, wird sie nicht verwendet.
- fatolfloat, optional
Absolute Toleranz (in der Maximalnorm) für das Residuum. Wenn weggelassen, beträgt der Standardwert 6e-6.
- xtolfloat, optional
Relative minimale Schrittweite. Wenn weggelassen, wird sie nicht verwendet.
- xatolfloat, optional
Absolute minimale Schrittweite, wie sie aus der Jacobi-Approximation bestimmt wird. Wenn die Schrittweite kleiner ist als dieser Wert, wird die Optimierung als erfolgreich beendet. Wenn weggelassen, wird sie nicht verwendet.
- tol_normfunction(vector) -> scalar, optional
Norm, die zur Überprüfung der Konvergenz verwendet wird. Standardmäßig wird die Maximalnorm verwendet.
- line_search{None, ‘armijo’ (Standard), ‘wolfe’}, optional
Welche Art von Liniensuche zur Bestimmung der Schrittweite in der durch die Jacobi-Approximation gegebenen Richtung verwendet werden soll. Standardmäßig wird ‘armijo’ verwendet.
- jac_optionsdict, optional
Optionen für die jeweilige Jacobi-Approximation.
- rdifffloat, optional
Relativer Schrittgrößenwert für die numerische Differenzierung.
- methodstr oder aufrufbar, optional
Krylov-Methode zur Approximation der Jacobi-Matrix. Kann ein String oder eine Funktion sein, die dieselbe Schnittstelle wie die iterativen Löser in
scipy.sparse.linalgimplementiert. Wenn es ein String ist, muss es einer der folgenden sein:'lgmres','gmres','bicgstab','cgs','minres','tfqmr'.Der Standardwert ist
scipy.sparse.linalg.lgmres.- inner_MLinearOperator oder InverseJacobian
Vorkonditionierer für die innere Krylov-Iteration. Beachten Sie, dass Sie auch inverse Jacobi-Matrizen als (adaptive) Vorkonditionierer verwenden können. Zum Beispiel,
>>> jac = BroydenFirst() >>> kjac = KrylovJacobian(inner_M=jac.inverse).
Wenn der Vorkonditionierer eine Methode namens „update“ hat, wird diese nach jedem nichtlinearen Schritt mit
update(x, f)aufgerufen, wobeixden aktuellen Punkt undfden aktuellen Funktionswert angibt.- inner_rtol, inner_atol, inner_callback, …
Parameter, die an den „inneren“ Krylov-Löser übergeben werden.
Eine vollständige Liste der Optionen finden Sie in der Dokumentation des von Ihnen verwendeten Lösers. Standardmäßig ist dies
scipy.sparse.linalg.lgmres. Wenn der Löser über method überschrieben wurde, beachten Sie stattdessen die Dokumentation für diesen Löser. Um eine Option für diesen Löser zu verwenden, stellen Sie ihrinner_voran. Um beispielsweise das Argumentrtolfür den Löser zu steuern, setzen Sie die Option inner_rtol hier.- outer_kint, optional
Größe des Unterraums, der über LGMRES-Nichtlinear-Iterationen beibehalten wird.
Details finden Sie unter
scipy.sparse.linalg.lgmres.