Smoothness

From HandWiki
(Redirected from Smooth approximation)
Short description: Number of derivatives of a function (mathematics)
A bump function is a smooth function with compact support.

In mathematical analysis, the smoothness of a function is a property measured by the number of continuous derivatives it has over some domain, called differentiability class.[1] At the very minimum, a function could be considered smooth if it is differentiable everywhere (hence continuous).[2] At the other end, it might also possess derivatives of all orders in its domain, in which case it is said to be infinitely differentiable and referred to as a C-infinity function (or [math]\displaystyle{ C^{\infty} }[/math] function).[3]

Differentiability classes

Differentiability class is a classification of functions according to the properties of their derivatives. It is a measure of the highest order of derivative that exists and is continuous for a function.

Consider an open set [math]\displaystyle{ U }[/math] on the real line and a function [math]\displaystyle{ f }[/math] defined on [math]\displaystyle{ U }[/math] with real values. Let k be a non-negative integer. The function [math]\displaystyle{ f }[/math] is said to be of differentiability class [math]\displaystyle{ C^k }[/math] if the derivatives [math]\displaystyle{ f',f'',\dots,f^{(k)} }[/math] exist and are continuous on [math]\displaystyle{ U }[/math]. If [math]\displaystyle{ f }[/math] is [math]\displaystyle{ k }[/math]-differentiable on [math]\displaystyle{ U }[/math], then it is at least in the class [math]\displaystyle{ C^{k-1} }[/math] since [math]\displaystyle{ f',f'',\dots,f^{(k-1)} }[/math] are continuous on [math]\displaystyle{ U }[/math]. The function [math]\displaystyle{ f }[/math] is said to be infinitely differentiable, smooth, or of class [math]\displaystyle{ C^\infty }[/math], if it has derivatives of all orders on [math]\displaystyle{ U }[/math]. (So all these derivatives are continuous functions over [math]\displaystyle{ U }[/math].)[4] The function [math]\displaystyle{ f }[/math] is said to be of class [math]\displaystyle{ C^\omega }[/math], or analytic, if [math]\displaystyle{ f }[/math] is smooth (i.e., [math]\displaystyle{ f }[/math] is in the class [math]\displaystyle{ C^\infty }[/math]) and its Taylor series expansion around any point in its domain converges to the function in some neighborhood of the point. There exist functions that are smooth but not analytic; [math]\displaystyle{ C^\omega }[/math] is thus strictly contained in [math]\displaystyle{ C^\infty }[/math]. Bump functions are examples of functions with this property.

To put it differently, the class [math]\displaystyle{ C^0 }[/math] consists of all continuous functions. The class [math]\displaystyle{ C^1 }[/math] consists of all differentiable functions whose derivative is continuous; such functions are called continuously differentiable. Thus, a [math]\displaystyle{ C^1 }[/math] function is exactly a function whose derivative exists and is of class [math]\displaystyle{ C^0 }[/math]. In general, the classes [math]\displaystyle{ C^k }[/math] can be defined recursively by declaring [math]\displaystyle{ C^0 }[/math] to be the set of all continuous functions, and declaring [math]\displaystyle{ C^k }[/math] for any positive integer [math]\displaystyle{ k }[/math] to be the set of all differentiable functions whose derivative is in [math]\displaystyle{ C^{k-1} }[/math]. In particular, [math]\displaystyle{ C^k }[/math] is contained in [math]\displaystyle{ C^{k-1} }[/math] for every [math]\displaystyle{ k\gt 0 }[/math], and there are examples to show that this containment is strict ([math]\displaystyle{ C^k \subsetneq C^{k-1} }[/math]). The class [math]\displaystyle{ C^\infty }[/math] of infinitely differentiable functions, is the intersection of the classes [math]\displaystyle{ C^k }[/math] as [math]\displaystyle{ k }[/math] varies over the non-negative integers.

Examples

Example: Continuous (C0) But Not Differentiable

The C0 function f(x) = x for x ≥ 0 and 0 otherwise.
The function g(x) = x2 sin(1/x) for x > 0.
The function [math]\displaystyle{ f:\R\to\R }[/math] with [math]\displaystyle{ f(x)=x^2\sin\left(\tfrac 1x\right) }[/math] for [math]\displaystyle{ x\neq 0 }[/math] and [math]\displaystyle{ f(0)=0 }[/math] is differentiable. However, this function is not continuously differentiable.
A smooth function that is not analytic.

The function [math]\displaystyle{ f(x) = \begin{cases}x & \mbox{if } x \geq 0, \\ 0 &\text{if } x \lt 0\end{cases} }[/math] is continuous, but not differentiable at x = 0, so it is of class C0, but not of class C1.

Example: Finitely-times Differentiable (Ck)

For each even integer k, the function [math]\displaystyle{ f(x)=|x|^{k+1} }[/math] is continuous and k times differentiable at all x. At x = 0, however, [math]\displaystyle{ f }[/math] is not (k + 1) times differentiable, so [math]\displaystyle{ f }[/math] is of class Ck, but not of class Cj where j > k.

Example: Differentiable But Not Continuously Differentiable (not C1)

The function [math]\displaystyle{ g(x) = \begin{cases}x^2\sin{\left(\tfrac{1}{x}\right)} & \text{if }x \neq 0, \\ 0 &\text{if }x = 0\end{cases} }[/math] is differentiable, with derivative [math]\displaystyle{ g'(x) = \begin{cases}-\mathord{\cos\left(\tfrac{1}{x}\right)} + 2x\sin\left(\tfrac{1}{x}\right) & \text{if }x \neq 0, \\ 0 &\text{if }x = 0.\end{cases} }[/math]

Because [math]\displaystyle{ \cos(1/x) }[/math] oscillates as x → 0, [math]\displaystyle{ g'(x) }[/math] is not continuous at zero. Therefore, [math]\displaystyle{ g(x) }[/math] is differentiable but not of class C1.

Example: Differentiable But Not Lipschitz Continuous

The function [math]\displaystyle{ h(x) = \begin{cases}x^{4/3}\sin{\left(\tfrac{1}{x}\right)} & \text{if }x \neq 0, \\ 0 &\text{if }x = 0\end{cases} }[/math] is differentiable but its derivative is unbounded on a compact set. Therefore, [math]\displaystyle{ h }[/math] is an example of a function that is differentiable but not locally Lipschitz continuous.

Example: Analytic (Cω)

The exponential function [math]\displaystyle{ e^{x} }[/math] is analytic, and hence falls into the class Cω. The trigonometric functions are also analytic wherever they are defined as they are linear combinations of complex exponential functions [math]\displaystyle{ e^{ix} }[/math] and [math]\displaystyle{ e^{-ix} }[/math].

Example: Smooth (C) but not Analytic (Cω)

The bump function [math]\displaystyle{ f(x) = \begin{cases}e^{-\frac{1}{1-x^2}} & \text{ if } |x| \lt 1, \\ 0 &\text{ otherwise }\end{cases} }[/math] is smooth, so of class C, but it is not analytic at x = ±1, and hence is not of class Cω. The function f is an example of a smooth function with compact support.

Multivariate differentiability classes

A function [math]\displaystyle{ f:U\subset\mathbb{R}^n\to\mathbb{R} }[/math] defined on an open set [math]\displaystyle{ U }[/math] of [math]\displaystyle{ \mathbb{R}^n }[/math] is said[5] to be of class [math]\displaystyle{ C^k }[/math] on [math]\displaystyle{ U }[/math], for a positive integer [math]\displaystyle{ k }[/math], if all partial derivatives [math]\displaystyle{ \frac{\partial^\alpha f}{\partial x_1^{\alpha_1} \, \partial x_2^{\alpha_2}\,\cdots\,\partial x_n^{\alpha_n}}(y_1,y_2,\ldots,y_n) }[/math] exist and are continuous, for every [math]\displaystyle{ \alpha_1,\alpha_2,\ldots,\alpha_n }[/math] non-negative integers, such that [math]\displaystyle{ \alpha=\alpha_1+\alpha_2+\cdots+\alpha_n\leq k }[/math], and every [math]\displaystyle{ (y_1,y_2,\ldots,y_n)\in U }[/math]. Equivalently, [math]\displaystyle{ f }[/math] is of class [math]\displaystyle{ C^k }[/math] on [math]\displaystyle{ U }[/math] if the [math]\displaystyle{ k }[/math]-th order Fréchet derivative of [math]\displaystyle{ f }[/math] exists and is continuous at every point of [math]\displaystyle{ U }[/math]. The function [math]\displaystyle{ f }[/math] is said to be of class [math]\displaystyle{ C }[/math] or [math]\displaystyle{ C^0 }[/math] if it is continuous on [math]\displaystyle{ U }[/math]. Functions of class [math]\displaystyle{ C^1 }[/math] are also said to be continuously differentiable.

A function [math]\displaystyle{ f:U\subset\mathbb{R}^n\to\mathbb{R}^m }[/math], defined on an open set [math]\displaystyle{ U }[/math] of [math]\displaystyle{ \mathbb{R}^n }[/math], is said to be of class [math]\displaystyle{ C^k }[/math] on [math]\displaystyle{ U }[/math], for a positive integer [math]\displaystyle{ k }[/math], if all of its components [math]\displaystyle{ f_i(x_1,x_2,\ldots,x_n)=(\pi_i\circ f)(x_1,x_2,\ldots,x_n)=\pi_i(f(x_1,x_2,\ldots,x_n)) \text{ for } i=1,2,3,\ldots,m }[/math] are of class [math]\displaystyle{ C^k }[/math], where [math]\displaystyle{ \pi_i }[/math] are the natural projections [math]\displaystyle{ \pi_i:\mathbb{R}^m\to\mathbb{R} }[/math] defined by [math]\displaystyle{ \pi_i(x_1,x_2,\ldots,x_m)=x_i }[/math]. It is said to be of class [math]\displaystyle{ C }[/math] or [math]\displaystyle{ C^0 }[/math] if it is continuous, or equivalently, if all components [math]\displaystyle{ f_i }[/math] are continuous, on [math]\displaystyle{ U }[/math].

The space of Ck functions

Let [math]\displaystyle{ D }[/math] be an open subset of the real line. The set of all [math]\displaystyle{ C^k }[/math] real-valued functions defined on [math]\displaystyle{ D }[/math] is a Fréchet vector space, with the countable family of seminorms [math]\displaystyle{ p_{K, m}=\sup_{x\in K}\left|f^{(m)}(x)\right| }[/math] where [math]\displaystyle{ K }[/math] varies over an increasing sequence of compact sets whose union is [math]\displaystyle{ D }[/math], and [math]\displaystyle{ m=0,1,\dots,k }[/math].

The set of [math]\displaystyle{ C^\infty }[/math] functions over [math]\displaystyle{ D }[/math] also forms a Fréchet space. One uses the same seminorms as above, except that [math]\displaystyle{ m }[/math] is allowed to range over all non-negative integer values.

The above spaces occur naturally in applications where functions having derivatives of certain orders are necessary; however, particularly in the study of partial differential equations, it can sometimes be more fruitful to work instead with the Sobolev spaces.

Continuity

The terms parametric continuity (Ck) and geometric continuity (Gn) were introduced by Brian Barsky, to show that the smoothness of a curve could be measured by removing restrictions on the speed, with which the parameter traces out the curve.[6][7][8]

Parametric continuity

Parametric continuity (Ck) is a concept applied to parametric curves, which describes the smoothness of the parameter's value with distance along the curve. A (parametric) curve [math]\displaystyle{ s:[0,1]\to\mathbb{R}^n }[/math] is said to be of class Ck, if [math]\displaystyle{ \textstyle \frac{d^ks}{dt^k} }[/math] exists and is continuous on [math]\displaystyle{ [0,1] }[/math], where derivatives at the end-points [math]\displaystyle{ 0 }[/math] and [math]\displaystyle{ 1 }[/math] are taken to be one sided derivatives (from the right at [math]\displaystyle{ 0 }[/math] and from the left at [math]\displaystyle{ 1 }[/math]).

As a practical application of this concept, a curve describing the motion of an object with a parameter of time must have C1 continuity and its first derivative is differentiable—for the object to have finite acceleration. For smoother motion, such as that of a camera's path while making a film, higher orders of parametric continuity are required.

Order of parametric continuity

Two Bézier curve segments attached that is only C0 continuous
Two Bézier curve segments attached in such a way that they are C1 continuous

The various order of parametric continuity can be described as follows:[9]

  • [math]\displaystyle{ C^0 }[/math]: zeroth derivative is continuous (curves are continuous)
  • [math]\displaystyle{ C^1 }[/math]: zeroth and first derivatives are continuous
  • [math]\displaystyle{ C^2 }[/math]: zeroth, first and second derivatives are continuous
  • [math]\displaystyle{ C^n }[/math]: 0-th through [math]\displaystyle{ n }[/math]-th derivatives are continuous

Geometric continuity

Curves with G1-contact (circles,line)
[math]\displaystyle{ (1-\varepsilon^2) x^2 -2px+y^2=0 , \ p\gt 0 \ , \varepsilon\ge 0 }[/math]
pencil of conic sections with G2-contact: p fix, [math]\displaystyle{ \varepsilon }[/math] variable
([math]\displaystyle{ \varepsilon=0 }[/math]: circle,[math]\displaystyle{ \varepsilon=0.8 }[/math]: ellipse, [math]\displaystyle{ \varepsilon=1 }[/math]: parabola, [math]\displaystyle{ \varepsilon=1.2 }[/math]: hyperbola)

The concept of geometrical continuity or geometric continuity (Gn) was primarily applied to the conic sections (and related shapes) by mathematicians such as Leibniz, Kepler, and Poncelet. The concept was an early attempt at describing, through geometry rather than algebra, the concept of continuity as expressed through a parametric function.[10]

The basic idea behind geometric continuity was that the five conic sections were really five different versions of the same shape. An ellipse tends to a circle as the eccentricity approaches zero, or to a parabola as it approaches one; and a hyperbola tends to a parabola as the eccentricity drops toward one; it can also tend to intersecting lines. Thus, there was continuity between the conic sections. These ideas led to other concepts of continuity. For instance, if a circle and a straight line were two expressions of the same shape, perhaps a line could be thought of as a circle of infinite radius. For such to be the case, one would have to make the line closed by allowing the point [math]\displaystyle{ x =\infty }[/math] to be a point on the circle, and for [math]\displaystyle{ x =+\infty }[/math] and [math]\displaystyle{ x =-\infty }[/math] to be identical. Such ideas were useful in crafting the modern, algebraically defined, idea of the continuity of a function and of [math]\displaystyle{ \infty }[/math] (see projectively extended real line for more).[10]

Order of geometric continuity

A curve or surface can be described as having [math]\displaystyle{ G^n }[/math] continuity, with [math]\displaystyle{ n }[/math] being the increasing measure of smoothness. Consider the segments either side of a point on a curve:

  • [math]\displaystyle{ G^0 }[/math]: The curves touch at the join point.
  • [math]\displaystyle{ G^1 }[/math]: The curves also share a common tangent direction at the join point.
  • [math]\displaystyle{ G^2 }[/math]: The curves also share a common center of curvature at the join point.

In general, [math]\displaystyle{ G^n }[/math] continuity exists if the curves can be reparameterized to have [math]\displaystyle{ C^n }[/math] (parametric) continuity.[11][12] A reparametrization of the curve is geometrically identical to the original; only the parameter is affected.

Equivalently, two vector functions [math]\displaystyle{ f(t) }[/math] and [math]\displaystyle{ g(t) }[/math] have [math]\displaystyle{ G^n }[/math] continuity if [math]\displaystyle{ f^{(n)}(t)\neq0 }[/math] and [math]\displaystyle{ f^{(n)}(t)\equiv kg^{(n)}(t) }[/math], for a scalar [math]\displaystyle{ k\gt 0 }[/math] (i.e., if the direction, but not necessarily the magnitude, of the two vectors is equal).

While it may be obvious that a curve would require [math]\displaystyle{ G^1 }[/math] continuity to appear smooth, for good aesthetics, such as those aspired to in architecture and sports car design, higher levels of geometric continuity are required. For example, reflections in a car body will not appear smooth unless the body has [math]\displaystyle{ G^2 }[/math] continuity.

A rounded rectangle (with ninety degree circular arcs at the four corners) has [math]\displaystyle{ G^1 }[/math] continuity, but does not have [math]\displaystyle{ G^2 }[/math] continuity. The same is true for a rounded cube, with octants of a sphere at its corners and quarter-cylinders along its edges. If an editable curve with [math]\displaystyle{ G^2 }[/math] continuity is required, then cubic splines are typically chosen; these curves are frequently used in industrial design.

Other concepts

Relation to analyticity

While all analytic functions are "smooth" (i.e. have all derivatives continuous) on the set on which they are analytic, examples such as bump functions (mentioned above) show that the converse is not true for functions on the reals: there exist smooth real functions that are not analytic. Simple examples of functions that are smooth but not analytic at any point can be made by means of Fourier series; another example is the Fabius function. Although it might seem that such functions are the exception rather than the rule, it turns out that the analytic functions are scattered very thinly among the smooth ones; more rigorously, the analytic functions form a meagre subset of the smooth functions. Furthermore, for every open subset A of the real line, there exist smooth functions that are analytic on A and nowhere else[citation needed].

It is useful to compare the situation to that of the ubiquity of transcendental numbers on the real line. Both on the real line and the set of smooth functions, the examples we come up with at first thought (algebraic/rational numbers and analytic functions) are far better behaved than the majority of cases: the transcendental numbers and nowhere analytic functions have full measure (their complements are meagre).

The situation thus described is in marked contrast to complex differentiable functions. If a complex function is differentiable just once on an open set, it is both infinitely differentiable and analytic on that set[citation needed].

Smooth partitions of unity

Smooth functions with given closed support are used in the construction of smooth partitions of unity (see partition of unity and topology glossary); these are essential in the study of smooth manifolds, for example to show that Riemannian metrics can be defined globally starting from their local existence. A simple case is that of a bump function on the real line, that is, a smooth function f that takes the value 0 outside an interval [a,b] and such that [math]\displaystyle{ f(x) \gt 0 \quad \text{ for } \quad a \lt x \lt b.\, }[/math]

Given a number of overlapping intervals on the line, bump functions can be constructed on each of them, and on semi-infinite intervals [math]\displaystyle{ (-\infty, c] }[/math] and [math]\displaystyle{ [d, +\infty) }[/math] to cover the whole line, such that the sum of the functions is always 1.

From what has just been said, partitions of unity do not apply to holomorphic functions; their different behavior relative to existence and analytic continuation is one of the roots of sheaf theory. In contrast, sheaves of smooth functions tend not to carry much topological information.

Smooth functions on and between manifolds

Given a smooth manifold [math]\displaystyle{ M }[/math], of dimension [math]\displaystyle{ m, }[/math] and an atlas [math]\displaystyle{ \mathfrak{U} = \{(U_\alpha,\phi_\alpha)\}_\alpha, }[/math] then a map [math]\displaystyle{ f:M\to \R }[/math] is smooth on [math]\displaystyle{ M }[/math] if for all [math]\displaystyle{ p \in M }[/math] there exists a chart [math]\displaystyle{ (U, \phi) \in \mathfrak{U}, }[/math] such that [math]\displaystyle{ p \in U, }[/math] and [math]\displaystyle{ f \circ \phi^{-1} : \phi(U) \to \R }[/math] is a smooth function from a neighborhood of [math]\displaystyle{ \phi(p) }[/math] in [math]\displaystyle{ \R^m }[/math] to [math]\displaystyle{ \R }[/math] (all partial derivatives up to a given order are continuous). Smoothness can be checked with respect to any chart of the atlas that contains [math]\displaystyle{ p, }[/math] since the smoothness requirements on the transition functions between charts ensure that if [math]\displaystyle{ f }[/math] is smooth near [math]\displaystyle{ p }[/math] in one chart it will be smooth near [math]\displaystyle{ p }[/math] in any other chart.

If [math]\displaystyle{ F : M \to N }[/math] is a map from [math]\displaystyle{ M }[/math] to an [math]\displaystyle{ n }[/math]-dimensional manifold [math]\displaystyle{ N }[/math], then [math]\displaystyle{ F }[/math] is smooth if, for every [math]\displaystyle{ p \in M, }[/math] there is a chart [math]\displaystyle{ (U,\phi) }[/math] containing [math]\displaystyle{ p, }[/math] and a chart [math]\displaystyle{ (V, \psi) }[/math] containing [math]\displaystyle{ F(p) }[/math] such that [math]\displaystyle{ F(U) \subset V, }[/math] and [math]\displaystyle{ \psi \circ F \circ \phi^{-1} : \phi(U) \to \psi(V) }[/math] is a smooth function from [math]\displaystyle{ \R^n. }[/math]

Smooth maps between manifolds induce linear maps between tangent spaces: for [math]\displaystyle{ F : M \to N }[/math], at each point the pushforward (or differential) maps tangent vectors at [math]\displaystyle{ p }[/math] to tangent vectors at [math]\displaystyle{ F(p) }[/math]: [math]\displaystyle{ F_{*,p} : T_p M \to T_{F(p)}N, }[/math] and on the level of the tangent bundle, the pushforward is a vector bundle homomorphism: [math]\displaystyle{ F_* : TM \to TN. }[/math] The dual to the pushforward is the pullback, which "pulls" covectors on [math]\displaystyle{ N }[/math] back to covectors on [math]\displaystyle{ M, }[/math] and [math]\displaystyle{ k }[/math]-forms to [math]\displaystyle{ k }[/math]-forms: [math]\displaystyle{ F^* : \Omega^k(N) \to \Omega^k(M). }[/math] In this way smooth functions between manifolds can transport local data, like vector fields and differential forms, from one manifold to another, or down to Euclidean space where computations like integration are well understood.

Preimages and pushforwards along smooth functions are, in general, not manifolds without additional assumptions. Preimages of regular points (that is, if the differential does not vanish on the preimage) are manifolds; this is the preimage theorem. Similarly, pushforwards along embeddings are manifolds.[13]

Smooth functions between subsets of manifolds

There is a corresponding notion of smooth map for arbitrary subsets of manifolds. If [math]\displaystyle{ f : X \to Y }[/math] is a function whose domain and range are subsets of manifolds [math]\displaystyle{ X \subseteq M }[/math] and [math]\displaystyle{ Y \subseteq N }[/math] respectively. [math]\displaystyle{ f }[/math] is said to be smooth if for all [math]\displaystyle{ x \in X }[/math] there is an open set [math]\displaystyle{ U \subseteq M }[/math] with [math]\displaystyle{ x \in U }[/math] and a smooth function [math]\displaystyle{ F : U \to N }[/math] such that [math]\displaystyle{ F(p) = f(p) }[/math] for all [math]\displaystyle{ p \in U \cap X. }[/math]

See also

References

  1. Weisstein, Eric W.. "Smooth Function" (in en). http://mathworld.wolfram.com/SmoothFunction.html. 
  2. "Smooth (mathematics)". https://www.thefreedictionary.com/Smooth+(mathematics). 
  3. "Smooth function - Encyclopedia of Mathematics". https://www.encyclopediaofmath.org/index.php/Smooth_function. 
  4. Warner, Frank W. (1983). Foundations of Differentiable Manifolds and Lie Groups. Springer. p. 5 [Definition 1.2]. ISBN 978-0-387-90894-6. https://books.google.com/books?id=t6PNrjnfhuIC&dq=%22f+is+differentiable+of+class+Ck%22&pg=PA5. Retrieved 2014-11-28. 
  5. Henri Cartan (1977). Cours de calcul différentiel. Paris: Hermann. 
  6. Barsky, Brian A. (1981). The Beta-spline: A Local Representation Based on Shape Parameters and Fundamental Geometric Measures (Ph.D.). University of Utah, Salt Lake City, Utah.
  7. Brian A. Barsky (1988). Computer Graphics and Geometric Modeling Using Beta-splines. Springer-Verlag, Heidelberg. ISBN 978-3-642-72294-3. 
  8. Richard H. Bartels; John C. Beatty; Brian A. Barsky (1987). An Introduction to Splines for Use in Computer Graphics and Geometric Modeling. Morgan Kaufmann. Chapter 13. Parametric vs. Geometric Continuity. ISBN 978-1-55860-400-1. 
  9. van de Panne, Michiel (1996). "Parametric Curves". Fall 1996 Online Notes. University of Toronto, Canada. https://www.cs.helsinki.fi/group/goa/mallinnus/curves/curves.html. 
  10. 10.0 10.1 Taylor, Charles (1911). "Geometrical Continuity". in Chisholm, Hugh. Encyclopædia Britannica. 11 (11th ed.). Cambridge University Press. pp. 674–675. 
  11. Barsky, Brian A.; DeRose, Tony D. (1989). "Geometric Continuity of Parametric Curves: Three Equivalent Characterizations". IEEE Computer Graphics and Applications 9 (6): 60–68. doi:10.1109/38.41470. 
  12. Hartmann, Erich (2003). "Geometry and Algorithms for Computer Aided Design". Technische Universität Darmstadt. p. 55. https://www2.mathematik.tu-darmstadt.de/~ehartmann/cdgen0104.pdf#page=55. 
  13. Guillemin, Victor; Pollack, Alan (1974). Differential Topology. Englewood Cliffs: Prentice-Hall. ISBN 0-13-212605-2.