iterate op• 資料種類:無 → table(僅由參數決定的運算子 —— 不接受影像或資料輸入)
• 呼叫: 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'(要直接呼叫實作,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';從台帳取用則 opsconverge.get("iterate_fixed_point"))
以不動點迭代(一般迭代 / Aitken / Anderson)求解 x = g(x),不收斂時拒絕而不回傳值。
> 以下的詳細說明為原文 —— 摘要與標題已翻譯。
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.
• convergent_computation 族使用指南
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• converge_tour — py -3.11 examples/converge_tour.py
table 作為輸入)—
iterate)—
*Provenance: converge.py — CONVERGE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.