Duality is a very pervasive and important concept in (modern) mathematics. See Encyclopedia of Mathematics for a list.

Two mathematical objects $A$ and $B$ form a dual pair if there is a mapping $\beta: A \times B \mapsto \mathbb{F}$ from their direct product $A \times B$ to a scalar field $\mathbb{F}$ that preserves structure in each variable separately [@Gowers2008, III.19].

Given two distinct sets of mathematical objects, **duality** means they are isomorphic: $A \cong B$,
or equivalently, $\exists f: A \mapsto B, f^{-1}: B \mapsto A$.
The mathematical structure of the objects are preserved;
all propositions that hold in one formulation also hold in the dual formulation.
When the two sets are identical,
the duality (isomorphism) $∗: A \mapsto A$ is often (but not always) an **involution** (对合):
$x^{∗∗} = x, \forall x \in A$.
In this case, an element is **self-dual** to a dual operation
if it is a fixed point of the dual operation: $x^∗ = x$.

Dual object itself does not carry any extra value than its primal object, but it may be much easier to understand, or make certain otherwise unthinkable calculations possible, which is the major motivation of studying dual objects. Understood more broadly, every Math and Formal Theory is a candidate dual representation of (certain aspects of) the physical world. When a duality is properly established, a formal theory can help us understand the world with parsimony.

Category combines some "universe of discourse" and classes of mappings between any pair of objects.

**Category** (范畴) $\mathfrak{C} = (\mathrm{Ob}\mathfrak{C}, \mathrm{Mor}\mathfrak{C}, \circ)$
consists of a class $\mathrm{Ob}\mathfrak{C}$ of **objects** (物件),
a class $\mathrm{Mor}\mathfrak{C}$ of **morphisms** (态射) from one object to another,
and a **composition** (复合) operator $\circ$ on compatible pairs of morphisms,
which satisfies:

- Closure: $\forall A \mapsto^\alpha B \mapsto^\beta C, \beta \circ \alpha \in H(A, C)$;
- Associativity: $\forall A \mapsto^\alpha B \mapsto^\beta C \mapsto^\gamma D, (\gamma \circ \beta) \circ \alpha = \gamma \circ (\beta \circ \alpha)$;
- Identity: $\forall A \in \mathrm{Ob}\mathfrak{C}, \exists 1_A \in H(A,A), \forall X \mapsto^\alpha A \mapsto^\beta Y, 1_A \circ \alpha = \alpha, \beta \circ 1_b = \beta$.

**Small category** is a category $\mathfrak{C}$ where
$\mathrm{Ob}\mathfrak{C}$ and $\mathrm{Mor}\mathfrak{C}$ are sets rather than proper classes.

**Hom-class** $\mathrm{Hom}_{\mathfrak{C}}(A, B)$, $\mathrm{Hom}(A, B)$, or $H(A, B)$
between two objects $A$ and $B$ in a category $\mathfrak{C}$ is
the class of all morphisms between $A$ and $B$ in the category:
$H_{\mathfrak{C}}(A, B) := \mathrm{Mor}\mathfrak{C} \cap B^A$.
The class $\mathrm{Mor}\mathfrak{C}$ of morphisms in a category $\mathfrak{C}$ consists of
hom-classes of all pairs of objects:
$\mathrm{Mor}\mathfrak{C} = \cup_{A, B \in \mathrm{Ob}\mathfrak{C}} H(A, B)$.

**Homomorphism** (同态) is a morphism in a category of algebraic systems
that preserves the basic operations and the basic relations.
**Endomorphism** (自同态) is a homomorphism from one object to itself.
The classification of endomorphisms on finite-dimensional spaces over an algebraically closed field
is call Jordan cannonical form.

**Monomorphism** (单态射) is a morphism $\mu: B \mapsto C$ that can be cancelled on the left:
$\forall \alpha, \beta \in H(A, B)$,
$\mu \alpha = \mu \beta \Rightarrow \alpha = \beta$.
**Epimorphism** (满态射) is a morphism $\mu: A \mapsto B$ that can be cancelled on the right:
$\forall \alpha, \beta \in H(B, C)$,
$\alpha \mu = \beta \mu \Rightarrow \alpha = \beta$.
**Isomorphism** (同构) is a morphism $\mu: A \mapsto B$ that has an inverse:
$\exists \mu^{-1}: B \mapsto A$, $\mu \circ \mu^{-1} = 1_B, \mu^{-1} \circ \mu = 1_A$.
Two objects are **isomorphic** $\cong$ if there is an isomorphism between them.

In most concrete categories over sets, an object is some mathematical structure;
a morphism is a mapping between two objects;
and the composition is just function composition.
**Category of sets** $\mathfrak{S}$ or $\mathrm{Ens}$ consists the class $\mathrm{Set}$ of all sets,
all functions between sets $\mathrm{Mor}\mathfrak{S} = \cup_{X, Y \in \mathrm{Set}} Y^X$,
and the composition of functions.
In the category of sets, monomorphisms are the injections, epimorphism are surjections.
**Category of topological spaces** $\mathfrak{T}$ or $\mathrm{Top}$
consists of all topological spaces, all continuous mappings, and the composition of functions.
**Category of linear operators** $\mathrm{Lin}$ consists of all vector spaces over a fixed field,
all linear operators, and the composition of functions.
**Categories of continuous linear operators** $\mathrm{Ban}$ and $\mathrm{Hilb}$
consist of, respectively, all Banach and Hilbert spaces, all continuous linear operators,
and the composition of functions.
**Categories of groups** $\mathfrak{G}$ or $\mathrm{Gr}$...

**Direct sum** (aka **coproduct**) is the dual of a product.
Direct sum and direct product coincide when the number of terms is finite.

**Logic**:

- operation: negation
- pairs: (proposition, negation); (conjunction, disjunction); (material implication, converse implication);

Bi-implication is self-dual.

**Set theory**:

- operation: complement
- pairs: (set, complement set); (union, intersection); (contained in, contains);

In **projective geometry**, line and point are dual concepts.
In three-dimensional projective geometry, point and plane are dual, while line is self-dual.
In projective geometry, once you have proved a theorem you get a dual theorem for free,
unless the theorem is self-dual or the dual is trivial.
A pair of dual theorems is "Two points determine a line" and "Two lines determine a point".

**Differential geometry**: k-form and k-dimensional surface.

**Linear algebra**, only considering finite dimensional vector spaces:

- Operation: bilinear map from pairs of vector spaces to scalars
- inner product: $\langle , \rangle: V \times V \mapsto \mathbb{R}$

- Pairs: (vector, linear functional), (vector space, dual vector space), (linear map, adjoint linear map), (surjection, injection);

A function from object A to object B very often gives rise to a function from the dual of B to the dual of A. One kind of problem (existence; surjection) is converted into a different kind (uniqueness; injection) in the dual formulation.

**Abstract Algebra**: Pontryagin duality, Abelian groups;

In topology, closed and open are dual concepts.

(closed convex set, polar set)

Structure: linearity, topology, etc.

**Manifold**: Poincare duality

- operation: intersection number $H_i(X) \times H_i(X) \rightarrow Z$
- pairs: (homology, cohomology)

The importance of the duality concept in functional analysis relies chiefly in the possibility of relating properties of representations in one space to those in its dual, a space that can be shown to possess certain analytical regularity properties, such as closure, even if its domain space does not. [@Red-horse2009]

**Functional analysis** duality pairing: $\langle , \rangle$.
Some properties of a function are naturally expressed in the dual formulation.

- Algebraic dual of linear vector space: the set of all linear functionals defined on the space
- Topological dual (phase space) of linear topological vector space:
the set of all continuous linear functionals defined on this space, with a naturally induced topology;
- weak topology in the original space: topology induced by continuous linear functionals;
- the dual of a normed space is a Banach space;
- the dual of a Hilbert space is itself a Hilbert space;
- weak integral (Pettis integral);
- strong integral;

- Distribution and test function

Fourier transform $\mathcal{F}$ on absolutely integrable continuous functions with real domain and complex range. Dual spaces in Fourier transform: time domain and frequency domain.

It is not always easy to translate a statement about a function into an equivalent statement about its Fourier transform.

**Banach space**:

- operation: continuous bilinear map $\langle,): : X×Y→R$
- pairs: (element, continuous linear functional), (Banach space, dual Banach space);

In mathematical optimization theory, duality means that optimization problems may be viewed from either of two perspectives, the primal problem or the dual problem. The solution to the dual problem provides a lower bound to the solution of the primal (minimization) problem. The difference is called the duality gap.

von Neumann conjectured the duality theorem for linear optimization, realizing that two person zero sum matrix game (where minimax = maximin) was equivalent to linear programming.

edge and vertex (undirected graph and its line graph)