Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
euclidean.cppm File Reference

The Study of Distance, Metrics, and Curvature. More...

#include <concepts>
#include <cstddef>
#include <functional>
import dedekind.algebra;
import dedekind.geometry:inner_product;
Include dependency graph for euclidean.cppm:

Concepts

concept  dedekind::geometry::IsMetricSpace
 A set equipped with a distance function (metric) d(a, b).
concept  dedekind::geometry::IsEuclideanSpace
 A Vector Space that is also a Metric Space where distance is the Norm.

Functions

template<dedekind::algebra::IsFloatingScalar F, std::size_t N>
constexpr F dedekind::geometry::distance (const Vector< F, N > &a, const Vector< F, N > &b)
 Canonical Euclidean distance induced by the norm.
template<typename Threshold, typename Compare = std::greater<>>
constexpr auto dedekind::geometry::compare_euclidean_norm_squared (Threshold threshold, Compare compare={})
 Predicate factory over squared Euclidean norm.
template<typename RadiusSquared>
constexpr auto dedekind::geometry::outside_closed_euclidean_ball_squared (RadiusSquared radius_squared)
 Predicate factory for points outside the closed Euclidean ball, using squared radius to avoid square roots.

Detailed Description

The Study of Distance, Metrics, and Curvature.

@partition :euclidean

Copyright 2026 The Dedekind Authors Licensed under the Apache License, Version 2.0.

euclidean__Geometry

This partition bridges Algebra and Topology by introducing the concept of a "Metric." It ensures that our numerical species can be measured not just as sets or fields, but as physical points on a 1D, 2D, or n-dimensional manifold. Wikipedia: Geometry, Metric space, Euclidean space

Note
"With the aid of visual imagination we can illuminate the manifold facts and problems." – David Hilbert and S. Cohn-Vossen, Geometry and the Imagination (1932)

Function Documentation

◆ compare_euclidean_norm_squared()

template<typename Threshold, typename Compare = std::greater<>>
auto dedekind::geometry::compare_euclidean_norm_squared ( Threshold threshold,
Compare compare = {} )
constexprexport

Predicate factory over squared Euclidean norm.

Returns x |-> compare(euclidean_norm_squared(x), threshold). Works for any carrier providing euclidean_norm_squared(x) via ADL.