Skip to main content

Partial Differential Equation Ontology

Differential Equations
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
flow "PartialDifferentialEquationOntology" v1.0

# ============================================================
# PARTIAL DIFFERENTIAL EQUATION ONTOLOGY — FLOW ALGEBRA
# ============================================================

SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/differential-equations/partial-differential-equation-ontology-2.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Differential Equations"
ENTITY := "Partial Differential Equation"

# ---------- CORE ENTITY ----------
PARTIAL_DIFFERENTIAL_EQUATION := {
    type: DifferentialEquation,
    domain: DifferentialEquations,
    abbreviation: "PDE",
    purpose: "Represent an equation involving an unknown function of multiple independent variables and one or more partial derivatives of that function."
}

# ---------- CORE CONCEPTS ----------
CONCEPTS := {
    PARTIAL_DIFFERENTIAL_EQUATION,
    UNKNOWN_FUNCTION,
    INDEPENDENT_VARIABLES,
    PARTIAL_DERIVATIVE,
    ORDER,
    LINEARITY,
    LINEAR_PDE,
    NONLINEAR_PDE,
    ELLIPTIC_PDE,
    PARABOLIC_PDE,
    HYPERBOLIC_PDE,
    INITIAL_CONDITION,
    BOUNDARY_CONDITION,
    WEAK_SOLUTION,
    NUMERICAL_SOLUTION
}

# ---------- GENERAL FORM ----------
PDE
    := F(
        x1,...,xn,
        u,
        partial_derivatives_of_u
    ) = 0

u
    -> UNKNOWN_FUNCTION

x1,...,xn
    -> INDEPENDENT_VARIABLES

PARTIAL_DERIVATIVES
    -> encode(CHANGE_WITH_RESPECT_TO_MULTIPLE_VARIABLES)

# ---------- PDE DISTINCTION ----------
PARTIAL_DIFFERENTIAL_EQUATION
    -> involves(PARTIAL_DERIVATIVES)

ORDINARY_DIFFERENTIAL_EQUATION
    -> involves(ORDINARY_DERIVATIVES_WITH_RESPECT_TO_ONE_INDEPENDENT_VARIABLE)

PDE
    -/> ODE

# ---------- ORDER ----------
ORDER
    := highest_partial_derivative_order_present

example:

partial_u/partial_t
    = alpha
      * partial_squared_u/partial_x_squared

ORDER
    = 2

ORDER
    -> determined_by(HIGHEST_DERIVATIVE_PRESENT)

# ---------- LINEAR PDE ----------
LINEAR_PDE
    -> unknown_function_and_its_derivatives_appear_linearly
    -> coefficients_may_depend_on(INDEPENDENT_VARIABLES)

general_structure:

L[u]
    = f

where
    L
        -> LINEAR_DIFFERENTIAL_OPERATOR

# ---------- HOMOGENEOUS LINEAR PDE ----------
if
    L[u] = 0
then

PDE
    -> HOMOGENEOUS_LINEAR_PDE

if
    u1 and u2
        solve(L[u]=0)
then

c1*u1 + c2*u2
    -> also_solution

SUPERPOSITION
    -> applies_to(HOMOGENEOUS_LINEAR_PDE)

# ---------- NONHOMOGENEOUS LINEAR PDE ----------
if
    L[u] = f
    AND f != 0
then

PDE
    -> NONHOMOGENEOUS_LINEAR_PDE

GENERAL_SOLUTION_STRUCTURE
    -> homogeneous_solution
       + particular_solution
       when(APPROPRIATE)

# ---------- NONLINEAR PDE ----------
NONLINEAR_PDE
    -> violates(LINEAR_OPERATOR_STRUCTURE)

examples:
    u * u_x
    (u_x)^2
    nonlinear_functions_of(u)
    nonlinear_products_of_derivatives

NONLINEAR_PDE
    -> may_form(SHOCKS)
    -> may_form(SOLITONS)
    -> may_exhibit(COMPLEX_PATTERN_FORMATION)

# ---------- SECOND-ORDER PDE ----------
general_two_variable_second_order_linear_PDE:

A*u_xx
+
2B*u_xy
+
C*u_yy
+
lower_order_terms
=
G

DISCRIMINANT
    := B^2 - A*C

if
    DISCRIMINANT < 0
then
    -> ELLIPTIC

if
    DISCRIMINANT = 0
then
    -> PARABOLIC

if
    DISCRIMINANT > 0
then
    -> HYPERBOLIC

CLASSIFICATION
    -> applies_to(PRINCIPAL_PART)
       under(STANDARD_TWO_VARIABLE_SECOND_ORDER_CONTEXT)

# ---------- ELLIPTIC PDE ----------
ELLIPTIC_PDE
    -> commonly_models(EQUILIBRIUM_OR_STEADY_STATE)

examples:
    LAPLACE_EQUATION
    POISSON_EQUATION

LAPLACE_EQUATION:
    LAPLACIAN(u) = 0

POISSON_EQUATION:
    LAPLACIAN(u) = f

# ---------- PARABOLIC PDE ----------
PARABOLIC_PDE
    -> commonly_models(DIFFUSIVE_EVOLUTION)

HEAT_EQUATION:
    partial_u/partial_t
    = alpha * LAPLACIAN(u)

DIFFUSION_EQUATION
    -> PARABOLIC
       under(STANDARD_POSITIVE_DIFFUSIVITY_CONTEXT)

# ---------- HYPERBOLIC PDE ----------
HYPERBOLIC_PDE
    -> commonly_models(WAVE_OR_PROPAGATION_PHENOMENA)

WAVE_EQUATION:
    partial_squared_u/partial_t_squared
    = c^2 * LAPLACIAN(u)

HYPERBOLIC_STRUCTURE
    -> supports(FINITE_PROPAGATION_CHARACTERISTICS)
       in(MANY_STANDARD_MODELS)

# ---------- FIRST-ORDER PDE ----------
FIRST_ORDER_PDE
    -> highest_partial_derivative_order_is(1)

TRANSPORT_EQUATION:
    partial_u/partial_t
    + v dot GRADIENT(u)
    = 0

FIRST_ORDER_PDE
    -> may_be_solved_using(METHOD_OF_CHARACTERISTICS)

# ---------- CHARACTERISTICS ----------
CHARACTERISTIC_CURVES
    -> reduce(CERTAIN_FIRST_ORDER_PDEs_TO_ODEs)

METHOD_OF_CHARACTERISTICS
    -> follows(SOLUTION_INFORMATION_ALONG_CURVES)

CHARACTERISTICS
    -> central_to(TRANSPORT_AND_HYPERBOLIC_PROBLEMS)

# ---------- INITIAL CONDITIONS ----------
INITIAL_CONDITION
    -> specifies(SOLUTION_DATA_AT_INITIAL_TIME_OR_SURFACE)

example:

u(x,0)
    = u_0(x)

INITIAL_VALUE_PROBLEM
    -> common_for(EVOLUTION_PDEs)

# ---------- BOUNDARY CONDITIONS ----------
BOUNDARY_CONDITIONS := {
    DIRICHLET,
    NEUMANN,
    ROBIN,
    MIXED,
    PERIODIC
}

DIRICHLET
    -> specifies(FUNCTION_VALUE_ON_BOUNDARY)

NEUMANN
    -> specifies(NORMAL_DERIVATIVE_ON_BOUNDARY)

ROBIN
    -> specifies(LINEAR_COMBINATION_OF_VALUE_AND_NORMAL_DERIVATIVE)

BOUNDARY_CONDITIONS
    -> essential_to(WELL_POSED_PROBLEM)

# ---------- WELL-POSEDNESS ----------
WELL_POSED_PROBLEM
    -> solution_exists
    -> solution_is_unique
    -> solution_depends_continuously_on_data

HADAMARD_WELL_POSEDNESS
    -> framework_for(PDE_PROBLEM_QUALITY)

PDE
    -/> assumed_well_posed_without(HYPOTHESES)

# ---------- CLASSICAL SOLUTION ----------
CLASSICAL_SOLUTION
    -> has(REQUIRED_POINTWISE_DERIVATIVES)
    -> satisfies(PDE_POINTWISE)

CLASSICAL_REGULARITY
    -> may_be_too_strong_for(SOME_PROBLEMS)

# ---------- WEAK SOLUTION ----------
WEAK_SOLUTION
    -> satisfies(INTEGRAL_OR_DISTRIBUTIONAL_FORMULATION)

WEAK_FORMULATION
    -> transfers(DERIVATIVES_TO_TEST_FUNCTIONS)
       through(INTEGRATION_BY_PARTS)

WEAK_SOLUTION
    -> permits(LOWER_REGULARITY)

# ---------- DISTRIBUTIONAL SOLUTION ----------
DISTRIBUTION
    -> generalised_function

DISTRIBUTIONAL_DERIVATIVE
    -> extends(CLASSICAL_DERIVATIVE)

PDE
    -> may_be_interpreted_in(DISTRIBUTIONAL_SENSE)

# ---------- SEPARATION OF VARIABLES ----------
if
    PDE_and_domain_have_appropriate_structure
then

assume
    u(x,t)
        = X(x)T(t)

SUBSTITUTION
    -> separates(PDE_INTO_ODEs)

SEPARATION_OF_VARIABLES
    -> commonly_used_for(LINEAR_PDEs_WITH_SIMPLE_GEOMETRY)

# ---------- FOURIER METHODS ----------
FOURIER_SERIES
    -> expands(SOLUTION_IN_EIGENFUNCTIONS)

FOURIER_TRANSFORM
    -> converts(SPATIAL_DERIVATIVES_TO_ALGEBRAIC_MULTIPLIERS)

FOURIER_METHODS
    -> useful_for(LINEAR_CONSTANT_COEFFICIENT_PDEs)

# ---------- GREEN FUNCTIONS ----------
GREEN_FUNCTION
    -> response_to(POINT_SOURCE)

LINEAR_PDE
    -> solution_may_be_constructed_by(CONVOLUTION_OR_INTEGRATION_WITH_GREEN_FUNCTION)

GREEN_FUNCTION_METHOD
    -> depends_on(OPERATOR_AND_BOUNDARY_CONDITIONS)

# ---------- NUMERICAL METHODS ----------
FINITE_DIFFERENCE_METHOD
    -> approximates(DERIVATIVES_BY_DIFFERENCE_QUOTIENTS)

FINITE_ELEMENT_METHOD
    -> discretises(WEAK_FORMULATION)

FINITE_VOLUME_METHOD
    -> enforces(CONSERVATION_OVER_CONTROL_VOLUMES)

SPECTRAL_METHOD
    -> approximates(SOLUTION_USING_GLOBAL_BASIS_FUNCTIONS)

NUMERICAL_PDE_SOLUTION
    -> approximates(CONTINUOUS_SOLUTION)

# ---------- STABILITY / CONSISTENCY / CONVERGENCE ----------
NUMERICAL_SCHEME
    -> analysed_for(CONSISTENCY)
    -> analysed_for(STABILITY)
    -> analysed_for(CONVERGENCE)

for suitable linear initial-value problems:

LAX_EQUIVALENCE_PRINCIPLE
    -> connects(CONSISTENCY_AND_STABILITY_WITH_CONVERGENCE)
       under(REQUIRED_ASSUMPTIONS)

# ---------- CONSERVATION LAWS ----------
CONSERVATION_LAW
    := partial_u/partial_t
       + DIVERGENCE(F(u))
       = 0

NONLINEAR_CONSERVATION_LAW
    -> may_develop(DISCONTINUITIES_OR_SHOCKS)

WEAK_SOLUTION
    -> needed_after(CLASSICAL_BREAKDOWN)

ENTROPY_CONDITION
    -> may_select(PHYSICALLY_RELEVANT_WEAK_SOLUTION)

# ---------- APPLICATIONS ----------
PDE
    -> applied_to(HEAT_TRANSFER)
    -> applied_to(FLUID_DYNAMICS)
    -> applied_to(ELECTROMAGNETISM)
    -> applied_to(QUANTUM_MECHANICS)
    -> applied_to(ELASTICITY)
    -> applied_to(WAVE_PROPAGATION)
    -> applied_to(DIFFUSION)
    -> applied_to(FINANCIAL_MATHEMATICS)

# ---------- RELATION GRAPH ----------
UNKNOWN_FUNCTION
    -> constrained_by(PDE)

PARTIAL_DERIVATIVES
    -> determine(ORDER)

PRINCIPAL_PART
    -> determines(PDE_CLASSIFICATION)

INITIAL_DATA
    -> define(EVOLUTION_PROBLEM)

BOUNDARY_DATA
    -> constrain(SPATIAL_DOMAIN)

WEAK_FORMULATION
    -> supports(FINITE_ELEMENT_METHOD)

CHARACTERISTICS
    -> connect(PDE_TO_ODE)

DISCRETISATION
    -> produces(NUMERICAL_APPROXIMATION)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
    "partial differential equation" ~= "differential equation involving partial derivatives of a multivariable unknown function",
    "PDE" ~= "partial differential equation",
    "elliptic PDE" ~= "PDE with elliptic principal part under the relevant classification",
    "parabolic PDE" ~= "PDE with parabolic principal part under the relevant classification",
    "hyperbolic PDE" ~= "PDE with hyperbolic principal part under the relevant classification",
    "weak solution" ~= "solution satisfying an integral or distributional formulation rather than necessarily pointwise derivatives"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
    pde_involves_partial_derivatives: true,
    order_is_highest_partial_derivative_order: true,
    superposition_applies_to_homogeneous_linear_pdes: true,
    elliptic_parabolic_hyperbolic_classification_depends_on_principal_part_and_context: true,
    initial_and_boundary_conditions_must_match_problem_type: true,
    weak_solution_need_not_be_classically_differentiable: true,
    numerical_solution_is_approximate_unless_exactness_proven: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
    core_definition: 0.99,
    order_linearity_structure: 0.99,
    second_order_classification: 0.99,
    initial_boundary_relation: 0.99,
    weak_solution_relation: 0.99,
    numerical_method_relation: 0.99,
    semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
    identify(pde)
    -> identify(independent_variables)
    -> identify(unknown_function)
    -> determine(order)
    -> determine(linearity)
    -> extract(principal_part)
    -> classify(elliptic_parabolic_hyperbolic_if_applicable)
    -> identify(initial_and_boundary_conditions)
    -> determine(classical_or_weak_solution_framework)
    -> select(analytical_or_numerical_method)
    -> solve_or_approximate()
    -> verify(residual_boundary_and_initial_conditions)
    -> analyse(well_posedness_stability_or_convergence_if_requested)
    -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
    parse_as: "typed partial-differential-equation semantic graph",
    primary_entity: PARTIAL_DIFFERENTIAL_EQUATION,
    preserve: [
        independent_variables,
        unknown_function,
        derivative_orders,
        principal_part,
        linearity,
        domain,
        initial_conditions,
        boundary_conditions,
        solution_framework
    ],
    infer_through: [
        elliptic_classification,
        parabolic_classification,
        hyperbolic_classification,
        characteristics,
        weak_solutions,
        green_functions,
        numerical_discretisation,
        well_posedness
    ],
    avoid: [
        confusing_pde_with_ode,
        classifying_pde_type_without principal_part context,
        applying_superposition_to nonlinear pde,
        assuming_classical_solution exists,
        ignoring boundary_or_initial data,
        treating_numerical approximation as exact solution
    ]
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
    validate(new_information)
    -> identify(pde_context)
    -> compare(existing_relations)
    -> preserve(order_principal_part_and_condition_invariants)
    -> update(affected_entities)
    -> update(affected_edges)
    -> recompute(CONFIDENCE)
    -> regenerate(FLOW_HASH)

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
    SOURCE_URL
    + ENTITY
    + CONCEPTS
    + PARTIAL_DIFFERENTIAL_EQUATION
    + ORDER
    + LINEAR_PDE
    + ELLIPTIC_PDE
    + PARABOLIC_PDE
    + HYPERBOLIC_PDE
    + WEAK_SOLUTION
    + BOUNDARY_CONDITIONS
    + SEMANTIC_EQUIVALENCE
    + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
    -> PARTIAL_DIFFERENTIAL_EQUATION
    -> PDE_IDENTIFICATION
    -> VARIABLE_FUNCTION_IDENTIFICATION
    -> ORDER_ANALYSIS
    -> LINEARITY_ANALYSIS
    -> PRINCIPAL_PART_ANALYSIS
    -> PDE_TYPE_CLASSIFICATION
    -> INITIAL_BOUNDARY_DATA_ANALYSIS
    -> SOLUTION_FRAMEWORK_ANALYSIS
    -> METHOD_SELECTION
    -> SOLUTION_OR_APPROXIMATION
    -> WELL_POSEDNESS_STABILITY_CONVERGENCE_ANALYSIS
    -> RECURSIVE_REASONING(query)
    -> CONFIDENCE
    -> OUTPUT(semantic_result)

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