AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of affine transformations within algebra, linear algebra, affine geometry and analytic geometry. An affine transformation consists of a linear transformation followed by a translation and preserves affine combinations, collinearity and parallelism. This record is intended for semantic retrieval, recursive mathematical reasoning, ontology linking and AI consumption within the Kireth Research Semantic Library.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Affine Transformation Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Algebra"
SPECIALISATION = "Linear Algebra / Affine Geometry"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/algebra-ontologies/affine-transformation-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = AffineTransformation
SYMBOLIC_FORMS = ["T(x)=Ax+b", "f(x)=L(x)+b"]
ENTITY_CLASS = AffineMap
PRIMARY_CONTEXT = AffineGeometry
SECONDARY_CONTEXTS = [LinearAlgebra, AnalyticGeometry, VectorSpaces]
DEFINITION = "An affine transformation is a mapping formed by applying a linear transformation and then a translation."
CANONICAL_FORM = "T(x)=Ax+b"
}
SCOPE {
INCLUDE = [
AffineTransformation,
AffineMap,
LinearPart,
TranslationPart,
AffineSpace,
AffineCombination,
HomogeneousCoordinates,
Composition,
Invertibility,
FixedPoint,
CollinearityPreservation,
ParallelismPreservation,
RatioPreservation,
MatrixRepresentation
]
EXCLUDE_AS_PRIMARY = [
ArbitraryNonlinearTransformation,
ProjectiveTransformation,
PhysicalTransformation,
DigitalImageTransformationWithoutMathematicalContext
]
DISAMBIGUATION_RULE =
"When affine transformation occurs with matrices, vectors, coordinates, translations, affine spaces, geometry, linear maps or homogeneous coordinates, interpret it mathematically."
}
CORE_CONCEPTS {
AffineTransformation {
definition = "A transformation T(x)=Ax+b where A is linear and b is a fixed translation vector."
canonical_form = "T(x)=Ax+b"
components = [LinearPart, TranslationPart]
}
LinearPart {
symbol = "A"
role = "Controls rotation, reflection, scaling, shear and other linear behaviour."
}
TranslationPart {
symbol = "b"
role = "Translates every transformed point by the same vector."
}
AffineCombination {
definition = "A linear combination of points whose coefficients sum to 1."
form = "a1x1+...+anxn where a1+...+an=1"
preservation = "Affine transformations preserve affine combinations."
}
AffineSpace {
definition = "A geometric structure modelled on a vector space but without a distinguished origin."
}
HomogeneousCoordinates {
role = "Represent affine transformations using augmented matrices."
form = "[A b; 0 1]"
}
FixedPoint {
definition = "A point x satisfying T(x)=x."
equation = "(I-A)x=b"
}
Invertibility {
criterion = "T(x)=Ax+b is invertible iff A is invertible."
inverse = "T^-1(y)=A^-1(y-b)"
}
}
RELATIONS {
AffineTransformation --has_linear_part--> LinearTransformation
AffineTransformation --has_translation_part--> Translation
AffineTransformation --acts_on--> AffineSpace
AffineTransformation --preserves--> AffineCombinations
AffineTransformation --preserves--> Collinearity
AffineTransformation --preserves--> Parallelism
AffineTransformation --preserves--> RatiosAlongCollinearLines
AffineTransformation --can_be_represented_by--> HomogeneousMatrix
AffineTransformation --can_be_composed_with--> AffineTransformation
InvertibleAffineTransformation --has_inverse--> AffineTransformation
LinearTransformation --is_special_case_of--> AffineTransformation WHEN translation_vector==0
Translation --is_special_case_of--> AffineTransformation WHEN linear_part==Identity
}
OPERATORS {
APPLY(T,x) := A*x+b
LINEAR_PART(T) := A
TRANSLATION_PART(T) := b
IS_LINEAR_AFFINE(T) :=
TRANSLATION_PART(T)==0
IS_PURE_TRANSLATION(T) :=
LINEAR_PART(T)==Identity
IS_INVERTIBLE(T) :=
IS_INVERTIBLE(A)
INVERSE(T) :=
"T^-1(y)=A^-1(y-b)" IF IS_INVERTIBLE(A)
COMPOSE(T2,T1) :=
"(A2*A1)x + (A2*b1+b2)"
FIXED_POINTS(T) :=
SOLUTION_SET((I-A)x=b)
HOMOGENEOUS_MATRIX(T) :=
"[A b; 0 1]"
}
DEFINITIONS {
D1: "T(x)=Ax+b defines an affine transformation."
D2: "A is the linear part and b is the translation part."
D3: "If b=0, the affine transformation is linear."
D4: "If A=I, the affine transformation is a translation."
D5: "Affine transformations preserve affine combinations."
D6: "Affine transformations preserve collinearity."
D7: "Affine transformations preserve parallelism."
D8: "Affine transformations preserve ratios of directed segments along a line."
D9: "T is invertible iff A is invertible."
D10: "The composition of affine transformations is affine."
D11: "Fixed points satisfy (I-A)x=b."
D12: "Homogeneous coordinates permit affine transformations to be represented by augmented matrices."
}
AXIOMS {
A1_AFFINE_FORM:
IF T is affine
THEN EXISTS linear A and fixed vector b SUCH_THAT T(x)=Ax+b
A2_AFFINE_COMBINATION:
IF sum_i(a_i)=1
THEN T(sum_i(a_i*x_i))=sum_i(a_i*T(x_i))
A3_COLLINEARITY:
IF points x,y,z are collinear
THEN T(x),T(y),T(z) are collinear
A4_PARALLELISM:
IF lines L1 and L2 are parallel
THEN their affine images remain parallel or coincide
A5_COMPOSITION:
IF T1 and T2 are affine
THEN T2 o T1 is affine
A6_INVERTIBILITY:
IF A is invertible
THEN T(x)=Ax+b is invertible
A7_LINEAR_SPECIAL_CASE:
IF b=0
THEN T is a linear transformation
}
REASONING {
R1_IDENTIFY_AFFINE {
INPUT = mapping T
SEEK = representation "T(x)=Ax+b"
VERIFY = A is linear
VERIFY = b is constant
IF verified
RETURN AffineTransformation
ELSE
RETURN NotEstablishedAsAffine
}
R2_DECOMPOSE {
INPUT = T(x)=Ax+b
RETURN = {
linear_part:A,
translation_part:b
}
}
R3_LINEARITY_TEST {
INPUT = affine T(x)=Ax+b
IF b==0
RETURN LinearTransformation
ELSE
RETURN "Affine but generally not linear"
}
R4_INVERTIBILITY {
INPUT = T(x)=Ax+b
TEST = invertibility(A)
IF A invertible
RETURN "T invertible with T^-1(y)=A^-1(y-b)"
ELSE
RETURN NotInvertible
}
R5_COMPOSITION {
INPUT = [
T1(x)=A1*x+b1,
T2(x)=A2*x+b2
]
COMPUTE = "T2(T1(x))=(A2*A1)x+(A2*b1+b2)"
RETURN = AffineTransformation
}
R6_FIXED_POINT {
INPUT = T(x)=Ax+b
SOLVE = "x=Ax+b"
EQUIVALENT = "(I-A)x=b"
RETURN = solution_set
}
R7_HOMOGENEOUS_REPRESENTATION {
INPUT = T(x)=Ax+b
AUGMENT_POINT = "[x;1]"
MATRIX = "[A b;0 1]"
RETURN = "[T(x);1]=[A b;0 1][x;1]"
}
R8_AFFINE_COMBINATION {
INPUT = points x_i and coefficients a_i
REQUIRE = sum(a_i)=1
RETURN = "T(sum(a_i*x_i))=sum(a_i*T(x_i))"
}
}
CONSTRAINTS {
C1: "The translation vector b must be independent of x."
C2: "The linear component A must define a linear transformation."
C3: "An affine transformation need not map the origin to the origin."
C4: "An affine transformation is linear exactly when its translation component is zero."
C5: "Affine transformations preserve parallelism but do not generally preserve lengths or angles."
C6: "Invertibility of T(x)=Ax+b depends on invertibility of A."
C7: "Affine combinations require coefficients summing to 1."
C8: "Do not confuse affine transformations with arbitrary projective or nonlinear transformations."
}
SEMANTIC_EQUIVALENCE {
"AffineTransformation" <=> "AffineMap"
"T(x)=Ax+b" <=> "LinearPartPlusTranslation"
"LinearTransformation" <=> "AffineTransformation with b=0"
"Translation" <=> "AffineTransformation with A=I"
"InvertibleAffineTransformation" <=> "AffineTransformation with invertible linear part"
}
VALIDATION {
V1 = "T(x)=Ax+b is affine when A is linear and b is constant."
V2 = "If b=0 then T is linear."
V3 = "If A=I then T is a translation."
V4 = "Affine transformations preserve affine combinations."
V5 = "Affine transformations preserve collinearity."
V6 = "Affine transformations preserve parallelism."
V7 = "Composition of affine transformations is affine."
V8 = "T is invertible iff A is invertible."
V9 = "Fixed points solve (I-A)x=b."
V10 = "Homogeneous-coordinate representation uses augmented matrix [A b;0 1]."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
AFFINE_FORM = 0.99
LINEAR_TRANSLATION_DECOMPOSITION = 0.99
AFFINE_COMBINATION_PRESERVATION = 0.99
COLLINEARITY_PRESERVATION = 0.99
PARALLELISM_PRESERVATION = 0.99
INVERTIBILITY_CRITERION = 0.99
HOMOGENEOUS_REPRESENTATION = 0.99
POLICY =
"Reduce confidence when the mapping rule, coordinate space or meaning of affine is underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
MathematicalReasoning,
EntityResolution,
TransformationReasoning,
GeometricReasoning,
MatrixReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"affine transformation" -> AffineTransformation
"affine map" -> AffineTransformation
"Ax+b" -> AffineTransformation WHEN mapping_context
"linear part" -> LinearPart
"translation part" -> TranslationPart
"homogeneous affine matrix" -> HomogeneousMatrix
}
INTERPRETATION_ORDER = [
identify_affine_context,
identify_domain_and_codomain,
extract_linear_part,
extract_translation_part,
verify_affine_form,
determine_linear_special_case,
evaluate_preserved_affine_structure,
test_invertibility,
derive_inverse_when_possible,
solve_fixed_points_when_requested,
construct_homogeneous_representation_when_required,
return_semantic_result
]
}
EXECUTION_RULES {
E1:
IF query_mentions("affine transformation")
OR query_mentions("affine map")
THEN activate(AffineTransformationOntology)
E2:
IF mapping_has_form("Ax+b")
THEN test(A_is_linear)
AND test(b_is_constant)
THEN classify(AffineTransformation)
E3:
IF b==0
THEN route_to(LinearTransformationOntology)
E4:
IF A==Identity
THEN classify(PureTranslation)
E5:
IF request=="test invertibility"
THEN test(invertibility(A))
E6:
IF request=="find inverse"
AND A invertible
THEN return("A^-1(y-b)")
E7:
IF request=="find fixed points"
THEN solve((I-A)x=b)
E8:
IF request=="compose affine transformations"
THEN compute(
new_linear_part=A2*A1,
new_translation=A2*b1+b2
)
E9:
IF request=="homogeneous matrix"
THEN construct("[A b;0 1]")
}
RECURSION {
ENTRY = AffineTransformation
EXPAND(AffineTransformation) -> [
Transformation,
LinearTransformation,
Translation,
AffineSpace,
AffineCombination,
Matrix,
HomogeneousCoordinates,
Invertibility,
FixedPoint,
Composition
]
EXPAND(LinearPart) -> [
LinearTransformation,
Matrix,
Rank,
Kernel,
Image
]
EXPAND(AffineCombination) -> [
Point,
ScalarCoefficient,
BarycentricRelation,
Collinearity
]
EXPAND(HomogeneousCoordinates) -> [
AugmentedVector,
AugmentedMatrix,
MatrixMultiplication
]
EXPAND(Invertibility) -> [
InverseMatrix,
Bijectivity,
Determinant
]
STOP_CONDITION =
"Stop when the requested affine property or derived structure is resolved with sufficient confidence and all necessary dependencies have been evaluated."
}
ROUTING {
PARENT_ONTOLOGY = "Transformation Ontology"
IMMEDIATE_CONTEXTS = [
"Linear Transformation Ontology",
"Matrix Ontology",
"Vector Space Ontology"
]
RELATED_ONTOLOGIES = [
"Transformation Ontology",
"Linear Transformation Ontology",
"Matrix Ontology",
"Vector Space Ontology",
"Basis Ontology",
"Dimension Ontology",
"Determinant Ontology",
"Rank Ontology",
"Kernel Ontology",
"Image Ontology"
]
ROUTE_RULES = [
"Affine Transformation -> Linear Transformation for linear-part reasoning",
"Affine Transformation -> Matrix for coordinate representation",
"Affine Transformation -> Determinant for invertibility of square linear parts",
"Affine Transformation -> Kernel and Image only through its linear component where appropriate",
"Affine Transformation -> Basis for coordinate-system reasoning",
"Affine Transformation -> Transformation for general mapping properties"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible concepts, operators or relations"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve canonical form T(x)=Ax+b.",
"Preserve separation of linear and translation components.",
"Preserve affine-combination invariance.",
"Preserve collinearity and parallelism relations.",
"Preserve invertibility criterion through the linear part.",
"Preserve homogeneous-coordinate representation.",
"Explicitly distinguish affine from linear transformations."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"An affine transformation has the form T(x)=Ax+b, where A is linear and b is a fixed translation vector."
SYMBOLIC_SUMMARY =
"T(x)=Ax+b"
LINEAR_SPECIAL_CASE =
"b=0 => T is linear"
TRANSLATION_SPECIAL_CASE =
"A=I => T is a translation"
INVERSE_SUMMARY =
"T^-1(y)=A^-1(y-b), provided A is invertible"
COMPOSITION_SUMMARY =
"(A2,b2) o (A1,b1) = (A2A1, A2b1+b2)"
FIXED_POINT_SUMMARY =
"(I-A)x=b"
HOMOGENEOUS_SUMMARY =
"[T(x);1]=[A b;0 1][x;1]"
}
FLOW {
INPUT
-> detect_affine_transformation_context
-> identify_domain_and_codomain
-> identify_mapping_rule
-> extract_linear_component_A
-> extract_translation_component_b
-> verify_A_is_linear
-> verify_b_is_constant
-> establish_affine_transformation
-> evaluate_linear_or_translation_special_case
-> derive_affine_structure_preservation
-> test_invertibility
-> derive_inverse_when_possible
-> solve_fixed_points_when_requested
-> construct_homogeneous_matrix_when_required
-> link_related_ontologies
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"An affine transformation is a mapping of the form T(x)=Ax+b, combining a linear transformation with a translation. It preserves affine combinations, collinearity and parallelism, while not necessarily preserving the origin, lengths or angles. It is invertible exactly when its linear component is invertible and can be represented compactly using homogeneous coordinates."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-ALGEBRA-AFFINE-TRANSFORMATION-ONTOLOGY-V1"
}
}
END_FLOW