flow "NonlinearDifferentialEquationOntology" v1.0
# ============================================================
# NONLINEAR DIFFERENTIAL EQUATION ONTOLOGY — FLOW ALGEBRA
# ============================================================
SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/differential-equations/nonlinear-differential-equation-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Differential Equations"
ENTITY := "Nonlinear Differential Equation"
# ---------- CORE ENTITY ----------
NONLINEAR_DIFFERENTIAL_EQUATION := {
type: DifferentialEquation,
domain: DifferentialEquations,
purpose: "Represent a differential equation in which the unknown function, its derivatives, or combinations of them occur nonlinearly."
}
# ---------- CORE CONCEPTS ----------
CONCEPTS := {
NONLINEAR_DIFFERENTIAL_EQUATION,
UNKNOWN_FUNCTION,
DERIVATIVE,
NONLINEARITY,
NONLINEAR_ODE,
NONLINEAR_PDE,
AUTONOMOUS_SYSTEM,
EQUILIBRIUM,
LINEARISATION,
JACOBIAN,
STABILITY,
BIFURCATION,
CHAOS,
NUMERICAL_SOLUTION
}
# ---------- GENERAL STRUCTURE ----------
NONLINEAR_DIFFERENTIAL_EQUATION
:= F(
independent_variables,
unknown_function,
derivatives
) = 0
NONLINEARITY
-> occurs_when(LINEAR_OPERATOR_STRUCTURE_FAILS)
# ---------- SOURCES OF NONLINEARITY ----------
NONLINEARITY
-> may_arise_from(PRODUCTS_OF_UNKNOWN_AND_DERIVATIVES)
-> may_arise_from(POWERS_OF_UNKNOWN_OR_DERIVATIVES)
-> may_arise_from(NONLINEAR_FUNCTIONS_OF_UNKNOWN)
-> may_arise_from(NONLINEAR_COEFFICIENT_DEPENDENCE_ON_UNKNOWN)
examples:
y*y_prime
y^2
(y_prime)^2
sin(y)
exp(y)
# ---------- NONLINEAR ODE ----------
NONLINEAR_ODE
-> nonlinear_differential_equation_with(ONE_INDEPENDENT_VARIABLE)
example:
y_prime
= y^2 - x
example:
y_double_prime
+ sin(y)
= 0
NONLINEAR_ODE
-> may_require(SPECIAL_ANALYTICAL_OR_NUMERICAL_METHODS)
# ---------- NONLINEAR PDE ----------
NONLINEAR_PDE
-> nonlinear_differential_equation_with(PARTIAL_DERIVATIVES)
examples:
BURGERS_EQUATION:
partial_u/partial_t
+ u*partial_u/partial_x
=
nu*partial_squared_u/partial_x_squared
NONLINEAR_WAVE_EQUATION:
partial_squared_u/partial_t_squared
- c^2*LAPLACIAN(u)
+ g(u)
= 0
NONLINEAR_PDE
-> may_form(SHOCKS)
-> may_form(SOLITONS)
-> may_form(PATTERNS)
# ---------- SUPERPOSITION FAILURE ----------
if
y1 and y2
solve(NONLINEAR_EQUATION)
then
c1*y1 + c2*y2
-/> generally_solution
SUPERPOSITION_PRINCIPLE
-> generally_not_available
NONLINEAR_SOLUTION_SET
-/> generally_VECTOR_SPACE
# ---------- AUTONOMOUS SYSTEM ----------
AUTONOMOUS_NONLINEAR_SYSTEM
:= x_prime = F(x)
F
-> NONLINEAR_VECTOR_FIELD
PHASE_SPACE
-> domain_of(STATE_VECTOR)
TRAJECTORY
-> solution_curve_in(PHASE_SPACE)
# ---------- EQUILIBRIUM ----------
EQUILIBRIUM_POINT
:= x_star
such_that
F(x_star) = 0
NONLINEAR_SYSTEM
-> may_have(MULTIPLE_EQUILIBRIA)
EQUILIBRIA
-> may_have(DIFFERENT_STABILITY_TYPES)
# ---------- LINEARISATION ----------
near equilibrium x_star:
F(x)
~= F(x_star)
+ J_F(x_star)*(x-x_star)
because
F(x_star) = 0
x_prime
~= J_F(x_star)*(x-x_star)
LINEARISATION
-> approximates(NONLINEAR_DYNAMICS_LOCALLY)
# ---------- JACOBIAN ----------
JACOBIAN(F)
:= matrix(
partial_F_i/partial_x_j
)
JACOBIAN_AT_EQUILIBRIUM
-> determines(LOCAL_LINEAR_SYSTEM)
EIGENVALUES
-> support(LOCAL_STABILITY_ANALYSIS)
under(APPROPRIATE_HYPERBOLIC_CONDITIONS)
# ---------- STABILITY ----------
STABILITY
-> describes(RESPONSE_TO_SMALL_PERTURBATIONS)
LYAPUNOV_STABILITY
-> nonlinear_stability_framework
ASYMPTOTIC_STABILITY
-> trajectories_approach(EQUILIBRIUM)
INSTABILITY
-> perturbations_may_grow_or_depart
LINEARISATION
-> may_be_inconclusive_for(NONHYPERBOLIC_EQUILIBRIA)
# ---------- LYAPUNOV FUNCTION ----------
LYAPUNOV_FUNCTION
:= V(x)
desired_properties_may_include:
V(x_star) = 0
V(x) > 0 near x_star
dV/dt <= 0
LYAPUNOV_METHOD
-> studies(STABILITY_WITHOUT_EXPLICIT_SOLUTION)
# ---------- BIFURCATION ----------
BIFURCATION
-> qualitative_change_in(DYNAMICAL_BEHAVIOUR)
as(PARAMETER_VARIES)
NONLINEAR_SYSTEM
-> may_exhibit(SADDLE_NODE_BIFURCATION)
-> may_exhibit(TRANSCRITICAL_BIFURCATION)
-> may_exhibit(PITCHFORK_BIFURCATION)
-> may_exhibit(HOPF_BIFURCATION)
BIFURCATION_POINT
-> parameter_value_where(QUALITATIVE_STRUCTURE_CHANGES)
# ---------- PERIODIC SOLUTIONS ----------
NONLINEAR_SYSTEM
-> may_have(LIMIT_CYCLE)
LIMIT_CYCLE
:= isolated_closed_trajectory
LIMIT_CYCLE
-> may_be(STABLE)
-> may_be(UNSTABLE)
PERIODIC_BEHAVIOUR
-> cannot_generally_be_understood_by_SUPERPOSITION)
# ---------- CHAOS ----------
NONLINEAR_DYNAMICAL_SYSTEM
-> may_exhibit(CHAOTIC_DYNAMICS)
CHAOS
-> may_include(SENSITIVE_DEPENDENCE_ON_INITIAL_CONDITIONS)
-> may_include(APERIODIC_LONG_TERM_BEHAVIOUR)
-> may_include(STRUCTURED_ATTRACTORS)
NONLINEARITY
-> necessary_but_not_sufficient_for(CHAOS_IN_STANDARD_DETERMINISTIC_CONTEXTS)
# ---------- EXACT / IMPLICIT SOLUTIONS ----------
NONLINEAR_EQUATION
-> may_have(EXACT_SOLUTION)
-> may_have(IMPLICIT_SOLUTION)
-> may_require(SPECIAL_FUNCTIONS)
-> may_have(NO_CLOSED_FORM_SOLUTION)
ANALYTICAL_SOLVABILITY
-> depends_on(SPECIFIC_STRUCTURE)
# ---------- SPECIAL METHODS ----------
METHODS := {
SEPARATION_OF_VARIABLES,
SUBSTITUTION,
PHASE_PLANE_ANALYSIS,
PERTURBATION_METHODS,
ASYMPTOTIC_METHODS,
VARIATIONAL_METHODS,
CHARACTERISTICS,
TRANSFORMATIONS
}
METHOD_SELECTION
-> depends_on(NONLINEAR_STRUCTURE)
# ---------- PERTURBATION ----------
if
small_parameter epsilon
then
solution
-> may_be_expanded_as(ASYMPTOTIC_SERIES)
PERTURBATION_METHOD
-> approximates(NONLINEAR_SOLUTION)
REGULAR_PERTURBATION
-/> sufficient_for(SINGULARLY_PERTURBED_PROBLEMS)
# ---------- NUMERICAL METHODS ----------
NUMERICAL_METHODS := {
RUNGE_KUTTA_METHODS,
NEWTON_ITERATION,
SHOOTING_METHOD,
FINITE_DIFFERENCE_METHOD,
FINITE_ELEMENT_METHOD,
FINITE_VOLUME_METHOD
}
NONLINEAR_DISCRETISATION
-> may_produce(NONLINEAR_ALGEBRAIC_SYSTEM)
NEWTON_METHOD
-> may_solve(DISCRETE_NONLINEAR_SYSTEM)
# ---------- INITIAL CONDITIONS ----------
INITIAL_VALUE_PROBLEM
:= NONLINEAR_DIFFERENTIAL_EQUATION
+ INITIAL_DATA
EXISTENCE_AND_UNIQUENESS
-> depend_on(REGULARITY_AND_LIPSCHITZ_TYPE_CONDITIONS)
NONLINEARITY
-/> automatically_implies(NONUNIQUENESS)
# ---------- BOUNDARY VALUE PROBLEM ----------
BOUNDARY_VALUE_PROBLEM
:= NONLINEAR_DIFFERENTIAL_EQUATION
+ BOUNDARY_DATA
NONLINEAR_BVP
-> may_have(NO_SOLUTION)
-> may_have(ONE_SOLUTION)
-> may_have(MULTIPLE_SOLUTIONS)
SOLUTION_MULTIPLICITY
-> depends_on(PROBLEM_STRUCTURE)
# ---------- CONSERVATION LAWS ----------
NONLINEAR_CONSERVATION_LAW
:= partial_u/partial_t
+ DIVERGENCE(F(u))
= 0
CLASSICAL_SOLUTION
-> may_develop(DISCONTINUITY)
WEAK_SOLUTION
-> extends(SOLUTION_AFTER_SHOCK_FORMATION)
ENTROPY_CONDITION
-> may_select(PHYSICALLY_RELEVANT_WEAK_SOLUTION)
# ---------- APPLICATIONS ----------
NONLINEAR_DIFFERENTIAL_EQUATION
-> applied_to(FLUID_DYNAMICS)
-> applied_to(POPULATION_DYNAMICS)
-> applied_to(CHEMICAL_REACTIONS)
-> applied_to(NONLINEAR_OSCILLATIONS)
-> applied_to(GENERAL_RELATIVITY)
-> applied_to(PLASMA_PHYSICS)
-> applied_to(BIOLOGICAL_SYSTEMS)
-> applied_to(CONTROL_THEORY)
# ---------- RELATION GRAPH ----------
NONLINEAR_TERMS
-> define(NONLINEAR_DIFFERENTIAL_EQUATION)
NONLINEAR_SYSTEM
-> has(EQUILIBRIA)
JACOBIAN
-> linearises(NONLINEAR_SYSTEM)
LINEARISATION
-> supports(LOCAL_STABILITY_ANALYSIS)
PARAMETER_CHANGE
-> may_trigger(BIFURCATION)
NONLINEAR_DYNAMICS
-> may_generate(LIMIT_CYCLES)
-> may_generate(CHAOS)
NUMERICAL_DISCRETISATION
-> produces(NONLINEAR_ALGEBRAIC_SYSTEM)
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
"nonlinear differential equation" ~= "differential equation not linear in the unknown function and its derivatives",
"nonlinear ODE" ~= "ordinary differential equation with nonlinear dependence on the unknown or derivatives",
"nonlinear PDE" ~= "partial differential equation with nonlinear dependence on the unknown or derivatives",
"linearisation" ~= "local first-order linear approximation of nonlinear dynamics",
"bifurcation" ~= "qualitative change in solution or dynamical structure as a parameter varies",
"limit cycle" ~= "isolated periodic orbit of a dynamical system"
}
# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
nonlinear_equation_does_not_obey_general_superposition: true,
nonlinear_does_not_mean_unsolvable: true,
nonlinear_does_not_automatically_mean_chaotic: true,
linearisation_is_local_approximation: true,
linearisation_may_be_inconclusive_at_nonhyperbolic_equilibria: true,
existence_uniqueness_require_problem_specific_hypotheses: true,
numerical_solution_requires_error_and_stability_analysis: true
}
# ---------- CONFIDENCE ----------
CONFIDENCE := {
core_definition: 0.99,
superposition_failure: 0.99,
linearisation_relation: 0.99,
stability_relation: 0.98,
bifurcation_relation: 0.98,
numerical_method_relation: 0.98,
semantic_equivalence: 0.97
}
# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
identify(differential_equation)
-> identify(nonlinear_terms)
-> classify(ode_or_pde)
-> determine(order_and_domain)
-> identify(initial_or_boundary_conditions)
-> detect(equilibria_if_dynamical_system)
-> construct(local_linearisation_if_useful)
-> analyse(stability_bifurcation_or_phase_structure_if_requested)
-> select(analytical_asymptotic_or_numerical_method)
-> solve_or_approximate()
-> verify(solution_or_residual)
-> validate(existence_uniqueness_and_method_conditions)
-> return(semantic_result)
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
parse_as: "typed nonlinear-differential-equation semantic graph",
primary_entity: NONLINEAR_DIFFERENTIAL_EQUATION,
preserve: [
unknown_function,
independent_variables,
nonlinear_terms,
derivative_order,
parameters,
initial_conditions,
boundary_conditions,
domain
],
infer_through: [
nonlinear_odes,
nonlinear_pdes,
equilibria,
jacobians,
linearisations,
stability,
bifurcations,
numerical_methods
],
avoid: [
applying_superposition_to nonlinear solutions,
assuming_nonlinear means chaotic,
treating_linearisation_as global model,
assuming_unique_solution_without hypotheses,
ignoring_multiple_solution branches,
treating_numerical approximation as exact solution
]
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
validate(new_information)
-> identify(nonlinear_differential_equation_context)
-> compare(existing_relations)
-> preserve(nonlinearity_domain_and_solution_branch_invariants)
-> update(affected_entities)
-> update(affected_edges)
-> recompute(CONFIDENCE)
-> regenerate(FLOW_HASH)
# ---------- FLOW HASH ----------
FLOW_HASH := hash(
SOURCE_URL
+ ENTITY
+ CONCEPTS
+ NONLINEAR_DIFFERENTIAL_EQUATION
+ NONLINEARITY
+ NONLINEAR_ODE
+ NONLINEAR_PDE
+ EQUILIBRIUM
+ LINEARISATION
+ BIFURCATION
+ CHAOS
+ SEMANTIC_EQUIVALENCE
+ CONSTRAINTS
)
# ---------- EXECUTION ----------
INPUT(query)
-> NONLINEAR_DIFFERENTIAL_EQUATION
-> EQUATION_IDENTIFICATION
-> NONLINEARITY_ANALYSIS
-> ODE_PDE_CLASSIFICATION
-> ORDER_DOMAIN_ANALYSIS
-> CONDITION_ANALYSIS
-> EQUILIBRIUM_ANALYSIS
-> LINEARISATION_ANALYSIS
-> STABILITY_BIFURCATION_ANALYSIS
-> METHOD_SELECTION
-> SOLUTION_OR_APPROXIMATION
-> SOLUTION_VALIDATION
-> RECURSIVE_REASONING(query)
-> CONFIDENCE
-> OUTPUT(semantic_result)
END FLOW
Download Code
Copy to Clipboard