iterate_fixed_point — CONVERGE iterate op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.iterate_fixed_point(g='cos', x0=None, method='anderson', tol=1e-10, rtol=0.0, max_iter=500, m=5, on_fail='raise', keep_iterates=False) -> 'dict' (implementation को सीधे call करना हो तो import converge; converge.iterate_fixed_point(g='cos', x0=None, method='anderson', tol=1e-10, rtol=0.0, max_iter=500, m=5, on_fail='raise', keep_iterates=False) -> 'dict', registry से लेना हो तो opsconverge.get("iterate_fixed_point"))

उपयोग

x = g(x) को fixed-point iteration (plain / Aitken / Anderson) से हल करता है और converge न होने पर मान लौटाने से मना करता है।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

g is a callable mapping an iterate (scalar or array) to one of the same shape, or the name of a built-in example ("cos": x = cos x, x0 = 1, fixed point 0.7390851332...). The residual is f_k = g(x_k) - x_k and the run has converged when ||f_k|| <= tol + rtol * ||x_k|| (2-norm). The value returned is g(x_k).

method:

• "plain" x_{k+1} = g(x_k) — the bounce-by-bounce Neumann sum for a linear map.

• "aitken" Aitken's delta-squared on x, g(x), g(g(x)) per step (Steffensen form), component-wise; a component whose second difference vanishes takes g(g(x)).

• "anderson" Anderson acceleration (Walker & Ni 2011, Algorithm AA) with memory m, written as their eq. (3.1): gamma = argmin ||f_k - dF_k gamma||_2 with dF_k = (f_{k-m_k+1} - f_{k-m_k}, ..., f_k - f_{k-1}), then x_{k+1} = g(x_k) - dG_k gamma (dG holds the same differences of g). The least-squares problem is solved by a QR factorisation; while cond(R) > ANDERSON_COND_MAX (1e8) the left-most (oldest) column is dropped (section 4 of Walker & Ni, after Yang et al.). On a linear map with no columns dropped this reproduces GMRES (their Theorem 2.2): the gates check it.

Returned (a table dict): x (g(x_k)), converged, n_iter, n_evals (calls of g), residual_history (||f_k|| per iterate), lipschitz_estimate (largest secant ratio of g over the stored iterates), error_estimate = L/(1-L) * ||f_k|| — the a-posteriori contraction bound on |g(x_k) - x*|, None when the estimated L is not below 1 — columns_dropped (Anderson conditioning) and method.

Refusal: divergence (non-finite residual or growth by DIVERGENCE_FACTOR = 1e8), a period-2 oscillation, stagnation or running out of max_iter raises NotConvergedError (a MetricContractError) with the record attached. With on_fail="record" the record is returned instead, with x = None and the last iterate under last_iterate — never under x.

उपयोग की विस्तृत guide

• convergent_computation family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• converge_tour — py -3.11 examples/converge_tour.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

—

इसी category के (iterate)

—


*Provenance: converge.py — CONVERGE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.