Skip to main content

Iterative Methods Ontology

Numerical Analysis
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Iterative Methods Ontology within the Kireth Research Semantic Library. Iterative methods are numerical procedures that generate successive approximations to a target solution and terminate when a convergence or stopping criterion is satisfied. This ontology supports fixed-point iteration, stationary and nonstationary linear solvers, Krylov subspace methods, nonlinear iterations, relaxation, preconditioning, residual monitoring, convergence rates, stopping criteria, divergence detection, acceleration, conditioning, stability and relationships with numerical analysis, root finding, numerical linear algebra, optimisation and scientific computing.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Iterative Methods Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Numerical Analysis / Iterative Methods"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/numerical-analysis/iterative-methods-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = IterativeMethod
 SYMBOLIC_FORMS = [
  "x_{k+1}=G(x_k)",
  "r_k=b-Ax_k",
  "||r_k|| -> 0"
 ]
 ENTITY_CLASS = SuccessiveApproximationFramework
 PRIMARY_CONTEXT = NumericalAnalysis
 DEFINITION = "An iterative method is a numerical algorithm that generates a sequence of approximations intended to converge to a mathematical solution."
 SEMANTIC_ROLE = "Provides the machine-readable framework for successive approximation, iteration operators, residuals, stopping criteria, convergence rates, relaxation, preconditioning, acceleration and divergence detection."
}

SCOPE {
 INCLUDE = [
  IterativeMethod,
  Iteration,
  Iterate,
  InitialGuess,
  UpdateRule,
  FixedPointIteration,
  StationaryIteration,
  NonstationaryIteration,
  JacobiMethod,
  GaussSeidelMethod,
  SuccessiveOverRelaxation,
  RichardsonIteration,
  GradientIteration,
  ConjugateGradientMethod,
  GMRES,
  MINRES,
  BiCGSTAB,
  KrylovSubspaceMethod,
  NewtonIteration,
  QuasiNewtonIteration,
  PicardIteration,
  NonlinearIteration,
  Residual,
  Error,
  Convergence,
  Divergence,
  ConvergenceRate,
  LinearConvergence,
  SuperlinearConvergence,
  QuadraticConvergence,
  SpectralRadius,
  Preconditioner,
  RelaxationParameter,
  StoppingCriterion,
  AbsoluteTolerance,
  RelativeTolerance,
  IterationLimit,
  ResidualNorm,
  StepNorm,
  AccelerationMethod,
  AndersonAcceleration
 ]

 EXCLUDE_AS_PRIMARY = [
  DirectMethodWithoutIteration,
  GenericLoopsWithoutNumericalConvergenceGoal,
  MonteCarloSamplingWithoutSuccessiveApproximationStructure,
  TimeSteppingUnlessUsedAsSolverIterationContext
 ]

 DISAMBIGUATION_RULE =
  "When a numerical algorithm repeatedly updates an approximation until a residual, error, step or convergence condition is met, interpret it as an iterative method."
}

CORE_CONCEPTS {

 IterativeMethod {
  definition = "A numerical method producing successive approximations to a target solution."
 }

 Iterate {
  definition = "The current approximation generated at an iteration step."
 }

 InitialGuess {
  definition = "The starting approximation from which iteration begins."
 }

 UpdateRule {
  definition = "The map or procedure generating the next iterate from current information."
 }

 FixedPointIteration {
  definition = "An iteration of the form x_{k+1}=g(x_k)."
 }

 StationaryIteration {
  definition = "An iterative method whose update operator does not change with iteration count."
 }

 KrylovSubspaceMethod {
  definition = "A method generating approximations from nested Krylov subspaces associated with a matrix and residual."
 }

 Residual {
  definition = "The mismatch between a current iterate and the governing discrete equations."
 }

 ConvergenceRate {
  definition = "The asymptotic speed at which approximation error decreases."
 }

 Preconditioner {
  definition = "A transformation intended to improve the spectral or conditioning properties of an iterative problem."
 }

 StoppingCriterion {
  definition = "A rule determining when iteration is terminated."
 }

 Divergence {
  definition = "Failure of the iterate sequence to approach the desired solution."
 }
}

RELATIONS {
 IterativeMethod --is_type_of--> NumericalMethod
 IterativeMethod --produces--> Iterate
 IterativeMethod --starts_from--> InitialGuess
 IterativeMethod --uses--> UpdateRule
 IterativeMethod --uses--> StoppingCriterion
 FixedPointIteration --is_type_of--> IterativeMethod
 StationaryIteration --is_type_of--> IterativeMethod
 KrylovSubspaceMethod --is_type_of--> IterativeMethod
 NewtonIteration --is_type_of--> NonlinearIteration
 Residual --measures--> EquationMismatch
 ConvergenceRate --describes--> IterativeMethod
 SpectralRadius --influences--> StationaryIterationConvergence
 Preconditioner --modifies--> IterativeLinearSystem
 RelaxationParameter --controls--> RelaxedIteration
 AccelerationMethod --improves--> ConvergenceBehaviour
 Divergence --contrasts_with--> Convergence
}

OPERATORS {
 GENERIC_ITERATION(x_k,G) :=
  G(x_k)

 LINEAR_STATIONARY_ITERATION(x_k,M,N,b) :=
  M^{-1}*(N*x_k+b)
  WHEN A=M-N

 RESIDUAL(A,x,b) :=
  b-A*x

 RELATIVE_RESIDUAL(r,b) :=
  norm(r)/max(norm(b),epsilon_scale)

 STEP_NORM(x_new,x_old) :=
  norm(x_new-x_old)

 CHECK_STOP(residual,step,tol_r,tol_x,k,kmax) :=
  residual<=tol_r
  OR step<=tol_x
  OR k>=kmax

 SPECTRAL_RADIUS(T) :=
  max_abs_eigenvalue(T)

 RELAXED_UPDATE(x_old,x_raw,omega) :=
  (1-omega)*x_old + omega*x_raw

 PRECONDITIONED_SYSTEM(A,b,P) :=
  solve P^{-1}A x = P^{-1}b
  or equivalent right/split form

 KRYLOV_SUBSPACE(A,r0,m) :=
  span{r0,A*r0,...,A^{m-1}*r0}

 CONVERGENCE_FACTOR(errors) :=
  asymptotic_ratio ||e_{k+1}||/||e_k||
}

DEFINITIONS {
 D1 = "Iterative methods generate successive approximations."
 D2 = "The initial guess can materially affect nonlinear convergence."
 D3 = "Stopping criteria should reflect both accuracy and computational cost."
 D4 = "Residual convergence and true error convergence are related but not identical."
 D5 = "Stationary linear iterations are governed by their iteration matrix."
 D6 = "A stationary iteration converges for all initial guesses when the spectral radius of its iteration matrix is less than one."
 D7 = "Krylov methods generate approximations in nested matrix-generated subspaces."
 D8 = "Preconditioning improves iterative convergence by altering the effective problem."
 D9 = "Relaxation changes the update amplitude."
 D10 = "Acceleration methods combine iteration history to improve convergence."
}

AXIOMS {
 A1_SUCCESSIVE_APPROXIMATION:
  IterativeMethod defines a sequence x_0,x_1,x_2,...

 A2_UPDATE:
  Each iterate is generated by a declared update rule

 A3_STOPPING:
  Practical iteration requires a stopping criterion or iteration limit

 A4_CONVERGENCE:
  Convergence claims require that iterates approach the intended solution under stated assumptions

 A5_RESIDUAL_CONTEXT:
  Residual reduction alone does not guarantee small forward error for ill-conditioned problems

 A6_STATIONARY_LINEAR:
  For x_{k+1}=T x_k+c, convergence for every x_0 requires spectral_radius(T)<1

 A7_PRECONDITIONING:
  Valid preconditioning preserves the original solution under the chosen transformed system

 A8_DIVERGENCE_DETECTION:
  Iteration should terminate or switch strategy when divergence or stagnation is detected
}

REASONING {

 R1_ITERATION_CLASSIFICATION {
  INPUT = iterative_algorithm
  IDENTIFY = linear_or_nonlinear
  IDENTIFY = stationary_or_nonstationary
  IDENTIFY = fixed_point_Newton_Krylov_relaxation_or_other
  RETURN = iteration_class
 }

 R2_INITIALISATION {
  INPUT = problem_and_method
  SELECT = initial_guess
  INITIALISE = residual_and_iteration_counter
  RETURN = iteration_state
 }

 R3_STATIONARY_LINEAR_ANALYSIS {
  INPUT = iteration_matrix_T
  COMPUTE = spectral_radius
  IF rho(T)<1
   RETURN = convergence_expected_for_all_initial_guesses
  ELSE
   RETURN = no_general_convergence_guarantee
 }

 R4_FIXED_POINT_ANALYSIS {
  INPUT = g_and_initial_region
  TEST = local_contraction
  IF contraction
   RETURN = local_convergence_expected
  ELSE
   RETURN = uncertain_or_divergent
 }

 R5_KRYLOV_REASONING {
  INPUT = A_b_initial_guess
  COMPUTE = r0
  BUILD = Krylov_subspace
  APPLY = method_specific orthogonalisation_or_minimisation
  RETURN = improved_iterate
 }

 R6_PRECONDITIONING {
  INPUT = A_and_solver
  SELECT = P_approximating_A_or_relevant structure
  FORM = preconditioned_problem
  RETURN = modified_iteration_with_same_target_solution
 }

 R7_STOPPING_REASONING {
  INPUT = residual_step_error_estimate_and_iteration_count
  NORMALISE = residual_and_step
  COMPARE = absolute_relative_tolerances
  CHECK = iteration_limit
  RETURN = continue_stop_or_fail
 }

 R8_DIVERGENCE_STAGNATION {
  INPUT = iteration_history
  TEST = increasing_residual
  TEST = negligible_progress
  TEST = oscillation_or_breakdown
  RETURN = converging_stagnating_diverging_or_breakdown
 }

 R9_ACCELERATION {
  INPUT = iteration_history
  SELECT = relaxation_extrapolation_Anderson_or_Krylov acceleration
  APPLY = accelerated update
  RETURN = accelerated_iterate
 }

 R10_CONVERGENCE_RATE {
  INPUT = error_or_residual_history
  ESTIMATE = linear_superlinear_quadratic_or_empirical rate
  RETURN = convergence_profile
 }
}

CONSTRAINTS {
 C1 = "Iterative methods require finite stopping logic."
 C2 = "Residual norms must be scaled appropriately."
 C3 = "Small residual does not guarantee small forward error in ill-conditioned problems."
 C4 = "Convergence theory can depend on the chosen norm."
 C5 = "Nonlinear methods can converge to different solutions from different initial guesses."
 C6 = "Stationary linear iteration convergence depends on the iteration matrix."
 C7 = "Relaxation parameters outside suitable ranges can cause divergence."
 C8 = "Preconditioners must remain computationally cheaper than solving the original problem directly to be useful."
 C9 = "Krylov methods may suffer breakdown, loss of orthogonality or stagnation."
 C10 = "Iteration counts alone are not comparable across methods without cost and accuracy context."
}

SEMANTIC_EQUIVALENCE {
 "IterativeMethod" <=> "SuccessiveApproximationMethod"
 "Iterate" <=> "CurrentApproximateSolution"
 "FixedPointIteration" <=> "SuccessiveSubstitution"
 "Preconditioner" <=> "ConvergenceImprovingProblemTransformation"
 "StoppingCriterion" <=> "IterationTerminationRule"
 "Stagnation" <=> "FailureToMakeMeaningfulProgress"
}

VALIDATION {
 V1 = "Initial guess is defined."
 V2 = "Update rule is explicit."
 V3 = "Residual or error monitor is defined."
 V4 = "Stopping tolerances are explicit."
 V5 = "Iteration limit exists."
 V6 = "Convergence assumptions are identified."
 V7 = "Preconditioning preserves solution equivalence."
 V8 = "Divergence and stagnation are monitored."
 V9 = "Convergence-rate claims use sufficient history."
 V10 = "Approximate-versus-converged status is explicit."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 ITERATIVE_METHOD_DEFINITION = 0.99
 CLASSIFICATION_REASONING = 0.99
 STATIONARY_ITERATION_REASONING = 0.99
 FIXED_POINT_REASONING = 0.98
 KRYLOV_REASONING = 0.98
 PRECONDITIONING_REASONING = 0.98
 STOPPING_REASONING = 0.99
 CONVERGENCE_RATE_REASONING = 0.98

 POLICY =
  "Reduce confidence when initialisation, norm, tolerance, conditioning, spectral information, preconditioner quality, iteration history or nonlinear basin of attraction are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  IterativeMethodReasoning,
  FixedPointReasoning,
  StationaryIterationReasoning,
  KrylovSubspaceReasoning,
  PreconditioningReasoning,
  RelaxationReasoning,
  StoppingCriterionReasoning,
  ResidualMonitoring,
  ConvergenceAnalysis,
  DivergenceDetection,
  StagnationDetection,
  AccelerationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "iterative methods" -> IterativeMethod
  "iterative method" -> IterativeMethod
  "iteration" -> Iteration WHEN numerical_context
  "fixed-point iteration" -> FixedPointIteration
  "Jacobi method" -> JacobiMethod
  "Gauss-Seidel method" -> GaussSeidelMethod
  "successive over-relaxation" -> SuccessiveOverRelaxation
  "conjugate gradient" -> ConjugateGradientMethod
  "GMRES" -> GMRES
  "preconditioner" -> Preconditioner
  "stopping criterion" -> StoppingCriterion
 }

 INTERPRETATION_ORDER = [
  detect_iterative_method_context,
  identify problem_type_initial_guess_update_rule_norm_tolerances_conditioning_and_iteration_limit,
  classify fixed_point_stationary_Krylov_Newton_relaxation_or_other pathway,
  initialise iteration,
  perform successive updates,
  monitor residual_step_error_and_breakdown indicators,
  apply preconditioning_relaxation_or_acceleration when appropriate,
  assess convergence_rate_stagnation_or_divergence,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("iterative method")
  OR repeated_numerical_updates_until_convergence context
  THEN activate(IterativeMethodsOntology)

 E2:
  IF stationary_linear_iteration
  THEN analyse iteration_matrix_and_spectral_radius

 E3:
  IF fixed_point_iteration
  THEN assess contraction_or_local_derivative condition

 E4:
  IF large_sparse_linear_system
  THEN consider Krylov_method_and_preconditioning

 E5:
  IF residual_decreases_but_solution_unreliable
  THEN inspect conditioning_and_forward error

 E6:
  IF stagnation_detected
  THEN consider preconditioning_acceleration_rescaling_or_method change

 E7:
  IF divergence_detected
  THEN terminate_or_safeguard rather_than continue blindly

 E8:
  IF stopping_criterion_uses_only_iteration_count
  THEN recommend residual_or_step based criterion when possible

 E9:
  IF comparing_iterative_methods
  THEN compare work_per_iteration_total_iterations_memory_and_accuracy
}

RECURSION {
 ENTRY = IterativeMethod

 EXPAND(IterativeMethod) -> [
  Iteration,
  Iterate,
  InitialGuess,
  UpdateRule,
  FixedPointIteration,
  StationaryIteration,
  NonstationaryIteration,
  JacobiMethod,
  GaussSeidelMethod,
  SuccessiveOverRelaxation,
  RichardsonIteration,
  GradientIteration,
  ConjugateGradientMethod,
  GMRES,
  MINRES,
  BiCGSTAB,
  KrylovSubspaceMethod,
  NewtonIteration,
  QuasiNewtonIteration,
  PicardIteration,
  Residual,
  Convergence,
  Divergence,
  ConvergenceRate,
  SpectralRadius,
  Preconditioner,
  RelaxationParameter,
  StoppingCriterion,
  AccelerationMethod
 ]

 EXPAND(StationaryIteration) -> [
  IterationMatrix,
  SpectralRadius,
  JacobiMethod,
  GaussSeidelMethod,
  SuccessiveOverRelaxation,
  RichardsonIteration
 ]

 EXPAND(KrylovSubspaceMethod) -> [
  ConjugateGradientMethod,
  GMRES,
  MINRES,
  BiCGSTAB,
  ArnoldiProcess,
  LanczosProcess,
  Preconditioner
 ]

 EXPAND(ConvergenceMonitoring) -> [
  ResidualNorm,
  RelativeResidual,
  StepNorm,
  ErrorEstimate,
  Stagnation,
  Divergence,
  IterationLimit
 ]

 STOP_CONDITION =
  "Stop when the initialisation, update rule, residual, stopping criterion, convergence behaviour, conditioning, preconditioning, acceleration and final iteration status are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Numerical Analysis"

 IMMEDIATE_CONTEXTS = [
  "Numerical Analysis Ontology",
  "Numerical Methods Ontology",
  "Root Finding Ontology",
  "Linear Algebra Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Numerical Analysis Ontology",
  "Numerical Methods Ontology",
  "Root Finding Ontology",
  "Numerical Analysis",
  "Applied Mathematics Ontologies",
  "Linear Algebra Ontologies",
  "Matrix Ontologies",
  "Optimisation Ontologies",
  "Differential Equations Ontologies",
  "Computational Model Ontology",
  "Scientific Computing Ontologies",
  "Model Verification Ontology"
 ]

 ROUTE_RULES = [
  "Iterative Methods -> Numerical Analysis Ontology for convergence and error semantics",
  "Iterative Methods -> Numerical Methods Ontology for algorithm families",
  "Iterative Methods -> Root Finding for nonlinear fixed-point and Newton iterations",
  "Iterative Methods -> Linear Algebra for matrix iterations and Krylov methods",
  "Iterative Methods -> Optimisation for gradient and quasi-Newton iterations",
  "Iterative Methods -> Differential Equations for nonlinear solver iterations within discretised systems",
  "Iterative Methods -> Computational Model for executable solver implementation",
  "Iterative Methods -> Scientific Computing for large-scale sparse computation",
  "Iterative Methods -> Model Verification for residual and convergence evidence"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible iterative algorithms, acceleration techniques or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve successive-approximation semantics.",
  "Preserve initial-guess semantics.",
  "Preserve update-rule semantics.",
  "Preserve residual-versus-error distinction.",
  "Preserve stopping-criterion semantics.",
  "Preserve stationary-iteration spectral-radius semantics.",
  "Preserve preconditioning solution equivalence.",
  "Preserve machine-readable iterative-method semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "An iterative method generates successive approximations to a mathematical solution until a convergence or stopping condition is met."

 INITIALISATION_SUMMARY =
  "Iteration begins from an initial guess and declared update rule."

 RESIDUAL_SUMMARY =
  "Residuals measure equation mismatch and are commonly used to monitor progress."

 CONVERGENCE_SUMMARY =
  "Convergence describes whether iterates approach the intended solution."

 STATIONARY_SUMMARY =
  "A stationary linear iteration converges for every initial guess when the spectral radius of its iteration matrix is less than one."

 KRYLOV_SUMMARY =
  "Krylov methods construct approximations from nested subspaces generated by repeated matrix action on the initial residual."

 PRECONDITIONING_SUMMARY =
  "Preconditioning transforms the numerical problem to improve iterative convergence while preserving the target solution."

 STOPPING_SUMMARY =
  "Stopping criteria should combine tolerances, scaling, residual or step information and an iteration limit."

 ACCELERATION_SUMMARY =
  "Relaxation, extrapolation and history-based methods can accelerate convergence when applied appropriately."
}

FLOW {
 INPUT
 -> detect_iterative_method_context
 -> identify mathematical_problem_initial_guess_update_rule_norm_tolerances_iteration_limit_conditioning_and_preconditioner
 -> classify stationary_nonstationary_fixed_point_Krylov_Newton_relaxation_or_accelerated method
 -> initialise iterate_and_residual
 -> apply update_rule
 -> monitor residual_step_error_estimate_and_breakdown indicators
 -> apply preconditioning_relaxation_or_acceleration when appropriate
 -> assess convergence_rate_stagnation_divergence_and_conditioning
 -> apply stopping criterion
 -> route to numerical_analysis_ontology numerical_methods root_finding linear_algebra optimisation differential_equations computational_model scientific_computing_or_model_verification ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Iterative Methods Ontology defines numerical algorithms based on successive approximation. It supports fixed-point, stationary, Krylov, Newton and relaxation methods; initial guesses, update rules, residuals, stopping criteria, convergence rates, spectral-radius analysis, preconditioning, acceleration, stagnation and divergence detection, and large-scale solver reasoning."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-ITERATIVE-METHODS-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ