Skip to main content

Scalar Field Ontology

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

# ============================================================
# SCALAR FIELD ONTOLOGY — FLOW ALGEBRA
# ============================================================

SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/vector-calculus/scalar-field-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Vector Calculus"
ENTITY := "Scalar Field"

# ---------- CORE ENTITY ----------
SCALAR_FIELD := {
    type: MathematicalField,
    domain: VectorCalculus,
    purpose: "Assign a scalar value to each point in a spatial, geometric or abstract domain."
}

# ---------- CORE CONCEPTS ----------
CONCEPTS := {
    SCALAR_FIELD,
    DOMAIN,
    SCALAR_VALUE,
    LEVEL_SET,
    GRADIENT,
    DIRECTIONAL_DERIVATIVE,
    PARTIAL_DERIVATIVE,
    LAPLACIAN,
    POTENTIAL_FIELD,
    CONTOUR,
    SURFACE,
    VOLUME,
    FIELD_VALUE
}

# ---------- BASIC STRUCTURE ----------
SCALAR_FIELD
    := f: D -> R

where
    D subset_of(R^n)
       or more_general_domain

for each
    x in D

f(x)
    -> SCALAR_VALUE

SCALAR_FIELD
    -> assigns(ONE_SCALAR_TO_EACH_DOMAIN_POINT)

# ---------- COMMON EXAMPLES ----------
SCALAR_FIELD
    -> may_represent(TEMPERATURE)
    -> may_represent(PRESSURE)
    -> may_represent(DENSITY)
    -> may_represent(ELECTRIC_POTENTIAL)
    -> may_represent(GRAVITATIONAL_POTENTIAL)
    -> may_represent(CONCENTRATION)
    -> may_represent(ALTITUDE)

# ---------- TWO-DIMENSIONAL FIELD ----------
f(x,y)
    -> scalar_value_at(POINT_IN_PLANE)

DOMAIN
    -> subset_of(R^2)

SCALAR_FIELD
    -> may_be_visualised_as(SURFACE_GRAPH)
    -> may_be_visualised_as(CONTOUR_MAP)

# ---------- THREE-DIMENSIONAL FIELD ----------
f(x,y,z)
    -> scalar_value_at(POINT_IN_SPACE)

DOMAIN
    -> subset_of(R^3)

SCALAR_FIELD
    -> may_be_visualised_by(LEVEL_SURFACES)
    -> may_be_visualised_by(COLOUR_OR_ISOVALUE_REPRESENTATION)

# ---------- LEVEL SET ----------
LEVEL_SET_c
    := {
        x in D :
        f(x) = c
    }

in R^2:
    LEVEL_SET
        -> may_form(LEVEL_CURVE)

in R^3:
    LEVEL_SET
        -> may_form(LEVEL_SURFACE)

LEVEL_SET
    -> groups(POINTS_WITH_EQUAL_FIELD_VALUE)

# ---------- GRADIENT ----------
GRADIENT(f)
    := vector_of(FIRST_PARTIAL_DERIVATIVES)

in R^3:

GRADIENT(f)
    = (
        partial_f/partial_x,
        partial_f/partial_y,
        partial_f/partial_z
      )

GRADIENT
    -> converts(SCALAR_FIELD, VECTOR_FIELD)

GRADIENT
    -> points_toward(STEEPEST_LOCAL_INCREASE)
       under(EUCLIDEAN_METRIC)

# ---------- LEVEL SET NORMAL ----------
if
    GRADIENT(f)(a) != ZERO_VECTOR
then

GRADIENT(f)(a)
    -> normal_to(REGULAR_LEVEL_SET_THROUGH_a)

TANGENT_VECTOR v
    -> satisfies(
        GRADIENT(f)(a) dot v = 0
    )

# ---------- DIRECTIONAL DERIVATIVE ----------
if
    u unit_vector
    AND f differentiable_at(a)
then

D_u f(a)
    = GRADIENT(f)(a) dot u

DIRECTIONAL_DERIVATIVE
    -> measures(RATE_OF_CHANGE_IN_DIRECTION)

# ---------- PARTIAL DERIVATIVES ----------
PARTIAL_DERIVATIVE
    -> measures(CHANGE_ALONG_COORDINATE_DIRECTION)

partial_f/partial_x_i
    -> component_of(GRADIENT)

FIRST_PARTIALS
    -> encode(FIRST_ORDER_LOCAL_FIELD_CHANGE)

# ---------- TOTAL DIFFERENTIAL ----------
if
    f differentiable
then

df
    = sum(
        partial_f/partial_x_i * dx_i
    )

TOTAL_DIFFERENTIAL
    -> approximates(SMALL_FIELD_VALUE_CHANGE)

# ---------- LAPLACIAN ----------
LAPLACIAN(f)
    := DIVERGENCE(GRADIENT(f))

in Cartesian R^3:

LAPLACIAN(f)
    = f_xx + f_yy + f_zz

LAPLACIAN
    -> measures(SECOND_ORDER_SPATIAL_VARIATION)

# ---------- HARMONIC FIELD ----------
if
    LAPLACIAN(f) = 0
then

f
    -> HARMONIC_FUNCTION
       on(RELEVANT_DOMAIN)

HARMONIC_SCALAR_FIELD
    -> appears_in(POTENTIAL_THEORY)

# ---------- POTENTIAL FIELD ----------
if
    phi
        := SCALAR_FIELD
then

GRADIENT(phi)
    -> VECTOR_FIELD

if
    F = GRADIENT(phi)
then

phi
    -> POTENTIAL_FUNCTION_FOR(F)

POTENTIAL_FIELD
    -> generates(CONSERVATIVE_VECTOR_FIELD)
       under(STANDARD_TERMINOLOGY)

# ---------- INTEGRATION ----------
SCALAR_FIELD
    -> may_be_integrated_over(CURVE)
    -> may_be_integrated_over(SURFACE)
    -> may_be_integrated_over(VOLUME)

LINE_INTEGRAL
    := integral_C(f ds)

SURFACE_INTEGRAL
    := integral_S(f dS)

VOLUME_INTEGRAL
    := integral_V(f dV)

INTEGRAL
    -> accumulates(SCALAR_FIELD_OVER_GEOMETRIC_DOMAIN)

# ---------- AVERAGE FIELD VALUE ----------
AVERAGE_OVER_REGION
    := 1/MEASURE(D)
       * integral_D(f d_measure)

AVERAGE_VALUE
    -> normalised(FIELD_ACCUMULATION)

# ---------- COORDINATE REPRESENTATION ----------
SCALAR_FIELD_VALUE
    -> coordinate_invariant_as_scalar

FUNCTION_EXPRESSION
    -> may_change_under(COORDINATE_TRANSFORMATION)

SCALAR_FIELD
    -> geometric_object_independent_of(COORDINATE_LABELS)

# ---------- TIME-DEPENDENT SCALAR FIELD ----------
f(x,t)
    -> scalar_field_varying_with(TIME)

partial_f/partial_t
    -> local_temporal_rate_of_change

GRADIENT(f)
    -> spatial_rate_of_change

SPATIOTEMPORAL_FIELD
    -> combines(SPACE_AND_TIME_DEPENDENCE)

# ---------- PHYSICAL EXAMPLE ----------
TEMPERATURE_FIELD
    := T(x,y,z,t)

T
    -> SCALAR_FIELD

GRADIENT(T)
    -> direction_of_fastest_spatial_temperature_increase

partial_T/partial_t
    -> temporal_temperature_change_at_fixed_position

# ---------- RELATION GRAPH ----------
DOMAIN_POINT
    -> mapped_to(SCALAR_VALUE)

SCALAR_FIELD
    -> differentiated_to(GRADIENT)

GRADIENT
    -> normal_to(REGULAR_LEVEL_SET)

SCALAR_FIELD
    -> acted_on_by(LAPLACIAN)

SCALAR_FIELD
    -> integrated_over(GEOMETRIC_REGIONS)

POTENTIAL_SCALAR_FIELD
    -> generates(CONSERVATIVE_VECTOR_FIELD)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
    "scalar field" ~= "function assigning a scalar value to each point in a domain",
    "scalar-valued field" ~= "scalar field",
    "level set" ~= "set of points sharing the same scalar-field value",
    "level curve" ~= "two-dimensional level set under regular geometric context",
    "level surface" ~= "three-dimensional level set under regular geometric context",
    "potential field" ~= "scalar field whose gradient generates a corresponding conservative vector field"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
    scalar_field_assigns_scalar_not_vector: true,
    gradient_requires_relevant_differentiability: true,
    gradient_level_set_normal_relation_requires_regular_point: true,
    directional_derivative_gradient_formula_requires_differentiability: true,
    laplacian_requires_second_order_differentiability_in_classical_form: true,
    coordinate_expression_may_change_while_scalar_value_remains_geometric_scalar: true,
    visualisation_samples_do_not_define_entire_field: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
    core_definition: 0.99,
    level_set_relation: 0.99,
    gradient_relation: 0.99,
    directional_derivative_relation: 0.99,
    laplacian_relation: 0.99,
    integration_relation: 0.99,
    semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
    identify(scalar_field)
    -> determine(domain)
    -> identify(coordinate_system)
    -> evaluate(field_value_if_requested)
    -> derive(partial_derivatives_if_required)
    -> construct(gradient)
    -> analyse(level_sets_if_relevant)
    -> calculate(directional_derivative_if_requested)
    -> calculate(laplacian_if_required)
    -> construct(curve_surface_or_volume_integral_if_required)
    -> validate(differentiability_and_domain_conditions)
    -> interpret(geometric_or_physical_meaning)
    -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
    parse_as: "typed scalar-field semantic graph",
    primary_entity: SCALAR_FIELD,
    preserve: [
        domain,
        scalar_codomain,
        coordinate_system,
        level_values,
        differentiability,
        spatial_temporal_dependencies
    ],
    infer_through: [
        gradients,
        directional_derivatives,
        level_sets,
        laplacians,
        line_integrals,
        surface_integrals,
        volume_integrals,
        potential_fields
    ],
    avoid: [
        confusing_scalar_field_with_vector_field,
        treating_gradient_as_scalar,
        assuming_level_set_normality_at critical points,
        applying_laplacian_without second derivatives,
        confusing_coordinate_expression_with geometric scalar value,
        treating_visual_samples_as complete field
    ]
}

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

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
    SOURCE_URL
    + ENTITY
    + CONCEPTS
    + SCALAR_FIELD
    + LEVEL_SET_c
    + GRADIENT
    + DIRECTIONAL_DERIVATIVE
    + LAPLACIAN
    + POTENTIAL_FIELD
    + LINE_INTEGRAL
    + SURFACE_INTEGRAL
    + VOLUME_INTEGRAL
    + SEMANTIC_EQUIVALENCE
    + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
    -> SCALAR_FIELD
    -> DOMAIN_IDENTIFICATION
    -> COORDINATE_SYSTEM_ANALYSIS
    -> FIELD_VALUE_ANALYSIS
    -> PARTIAL_DERIVATIVE_ANALYSIS
    -> GRADIENT_ANALYSIS
    -> LEVEL_SET_ANALYSIS
    -> DIRECTIONAL_DERIVATIVE_ANALYSIS
    -> LAPLACIAN_ANALYSIS
    -> INTEGRAL_ANALYSIS
    -> GEOMETRIC_PHYSICAL_INTERPRETATION
    -> RECURSIVE_REASONING(query)
    -> CONFIDENCE
    -> OUTPUT(semantic_result)

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