naginterfaces.library.roots.sys_deriv_rcomm¶
- naginterfaces.library.roots.sys_deriv_rcomm(irevcm, x, fvec, fjac, mode, diag, r, qtf, comm, xtol=1.0536712127723509e-08, factor=100.0)[source]¶
sys_deriv_rcomm
is a comprehensive reverse communication function that finds a solution of a system of nonlinear equations by a modification of the Powell hybrid method. You must provide the Jacobian.For full information please refer to the NAG Library document for c05rd
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/c05/c05rdf.html
- Parameters
- irevcmint
On initial entry: must have the value .
- xfloat, ndarray, shape , modified in place
On initial entry: an initial guess at the solution vector.
On intermediate exit: contains the current point.
On final exit: the final estimate of the solution vector.
- fvecfloat, ndarray, shape , modified in place
On initial entry: need not be set.
On intermediate entry: if , must not be changed.
If , must be set to the values of the functions computed at the current point .
On final exit: the function values at the final point, .
- fjacfloat, ndarray, shape , modified in place
On initial entry: need not be set.
On intermediate entry: if , must not be changed.
If , must contain the value of at the point , for , for .
On final exit: the orthogonal matrix produced by the factorization of the final approximate Jacobian.
- modeint
On initial entry: indicates whether or not you have provided scaling factors in .
If , the scaling must have been supplied in .
Otherwise, if , the variables will be scaled internally.
- diagfloat, ndarray, shape , modified in place
On initial entry: if , must contain multiplicative scale factors for the variables.
If , need not be set.
On intermediate exit: must not be changed.
On final exit: the scale factors actually used (computed internally if ).
- rfloat, ndarray, shape , modified in place
On initial entry: need not be set.
On intermediate exit: must not be changed.
On final exit: the upper triangular matrix produced by the factorization of the final approximate Jacobian, stored row-wise.
- qtffloat, ndarray, shape , modified in place
On initial entry: need not be set.
On intermediate exit: must not be changed.
On final exit: the vector .
- commdict, communication object, modified in place
Communication structure.
On initial entry: need not be set.
- xtolfloat, optional
On initial entry: the accuracy in to which the solution is required.
- factorfloat, optional
On initial entry: a quantity to be used in determining the initial step bound. In most cases, should lie between and . (The step bound is if this is nonzero; otherwise the bound is .)
- Returns
- irevcmint
On intermediate exit: specifies what action you must take before re-entering
sys_deriv_rcomm
with set to this value. The value of should be interpreted as follows:Indicates the start of a new iteration. No action is required by you, but and are available for printing.
Indicates that before re-entry to
sys_deriv_rcomm
, must contain the function values .Indicates that before re-entry to
sys_deriv_rcomm
, must contain the value of at the point , for , for .On final exit: and the algorithm has terminated.
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: , , or .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: or .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, and contained a non-positive element.
- Warns
- NagAlgorithmicWarning
- (errno )
No further improvement in the solution is possible. is too small: .
- (errno )
The iteration is not making good progress, as measured by the improvement from the last Jacobian evaluations. This failure exit may indicate that the system does not have a zero, or that the solution is very close to the origin (see Accuracy). Otherwise, rerunning
sys_deriv_rcomm
from a different starting point may avoid the region of difficulty.- (errno )
The iteration is not making good progress, as measured by the improvement from the last iterations. This failure exit may indicate that the system does not have a zero, or that the solution is very close to the origin (see Accuracy). Otherwise, rerunning
sys_deriv_rcomm
from a different starting point may avoid the region of difficulty.
- Notes
The system of equations is defined as:
sys_deriv_rcomm
is based on the MINPACK routine HYBRJ (see Moré et al. (1980)). It chooses the correction at each step as a convex combination of the Newton and scaled gradient directions. The Jacobian is updated by the rank-1 method of Broyden. For more details see Powell (1970).
- References
Moré, J J, Garbow, B S and Hillstrom, K E, 1980, User guide for MINPACK-1, Technical Report ANL-80-74, Argonne National Laboratory
Powell, M J D, 1970, A hybrid method for nonlinear algebraic equations, Numerical Methods for Nonlinear Algebraic Equations, (ed P Rabinowitz), Gordon and Breach