diff --git a/documents/math-minimal-distance-to-cubic-function/Makefile b/documents/math-minimal-distance-to-cubic-function/Makefile index 78f6954..66d83f1 100644 --- a/documents/math-minimal-distance-to-cubic-function/Makefile +++ b/documents/math-minimal-distance-to-cubic-function/Makefile @@ -5,4 +5,4 @@ make: make clean clean: - rm -rf $(TARGET) *.class *.log *.aux *.out *.thm + rm -rf $(TARGET) *.class *.log *.aux *.out *.thm *.toc diff --git a/documents/math-minimal-distance-to-cubic-function/constant-functions.tex b/documents/math-minimal-distance-to-cubic-function/constant-functions.tex new file mode 100644 index 0000000..d1b61c8 --- /dev/null +++ b/documents/math-minimal-distance-to-cubic-function/constant-functions.tex @@ -0,0 +1,48 @@ +\chapter{Constant functions} +\section{Defined on $\mdr$} +Let $f(x) = c$ with $c \in \mdr$ be a constant function. + +\begin{figure}[htp] + \centering + \begin{tikzpicture} + \begin{axis}[ + legend pos=north west, + axis x line=middle, + axis y line=middle, + grid = major, + width=0.8\linewidth, + height=8cm, + grid style={dashed, gray!30}, + xmin=-5, % start the diagram at this x-coordinate + xmax= 5, % end the diagram at this x-coordinate + ymin= 0, % start the diagram at this y-coordinate + ymax= 3, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=$x$, + ylabel=$y$, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + \addplot[domain=-5:5, thick,samples=50, red] {1}; + \addplot[domain=-5:5, thick,samples=50, green] {2}; + \addplot[domain=-5:5, thick,samples=50, blue, densely dotted] {3}; + \addplot[black, mark = *, nodes near coords=$P$,every node near coord/.style={anchor=225}] coordinates {(2, 2)}; + \addplot[blue, mark = *, nodes near coords=$P_{h,\text{min}}$,every node near coord/.style={anchor=225}] coordinates {(2, 3)}; + \addplot[green, mark = x, nodes near coords=$P_{g,\text{min}}$,every node near coord/.style={anchor=120}] coordinates {(2, 2)}; + \addplot[red, mark = *, nodes near coords=$P_{f,\text{min}}$,every node near coord/.style={anchor=225}] coordinates {(2, 1)}; + \draw[thick, dashed] (axis cs:2,0) -- (axis cs:2,3); + \addlegendentry{$f(x)=1$} + \addlegendentry{$g(x)=2$} + \addlegendentry{$h(x)=3$} + \end{axis} + \end{tikzpicture} + \caption{Three constant functions and their points with minimal distance} + \label{fig:constant-min-distance} +\end{figure} + +Then $(x_P,f(x_P))$ has +minimal distance to $P$. Every other point has higher distance. +See Figure~\ref{fig:constant-min-distance}. + +\section{Defined on a closed interval of $\mdr$} diff --git a/documents/math-minimal-distance-to-cubic-function/cubic-functions.tex b/documents/math-minimal-distance-to-cubic-function/cubic-functions.tex new file mode 100644 index 0000000..8e0af59 --- /dev/null +++ b/documents/math-minimal-distance-to-cubic-function/cubic-functions.tex @@ -0,0 +1,218 @@ +\chapter{Cubic functions} +\section{Defined on $\mdr$} +Let $f(x) = a \cdot x^3 + b \cdot x^2 + c \cdot x + d$ be a cubic function +with $a \in \mdr \setminus \Set{0}$ and +$b, c, d \in \mdr$ be a function. + +\begin{figure}[htp] + \centering +\begin{tikzpicture} + \begin{axis}[ + legend pos=south east, + axis x line=middle, + axis y line=middle, + grid = major, + width=0.8\linewidth, + height=8cm, + grid style={dashed, gray!30}, + xmin=-3, % start the diagram at this x-coordinate + xmax= 3, % end the diagram at this x-coordinate + ymin=-3, % start the diagram at this y-coordinate + ymax= 3, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=$x$, + ylabel=$y$, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + \addplot[domain=-3:3, thick,samples=50, red] {x*x*x}; + \addplot[domain=-3:3, thick,samples=50, green] {x*x*x+x*x}; + \addplot[domain=-3:3, thick,samples=50, blue] {x*x*x+2*x*x}; + \addplot[domain=-3:3, thick,samples=50, orange] {x*x*x+x}; + \addlegendentry{$f_1(x)=x^3$} + \addlegendentry{$f_2(x)=x^3 + x^2$} + \addlegendentry{$f_2(x)=x^3 + 2 \cdot x^2$} + \addlegendentry{$f_1(x)=x^3 + x$} + \end{axis} +\end{tikzpicture} + \caption{Cubic functions} +\end{figure} + +% +%\section{Special points} +%\todo[inline]{Write this} +% +%\section{Voronoi} +% +%For $b^2 \geq 3ac$ +% +%\todo[inline]{Write this} + +\subsection{Calculate points with minimal distance} +\begin{theorem} + There cannot be an algebraic solution to the problem of finding + a closest point $(x, f(x))$ to a given point $P$ when $f$ is + a polynomial function of degree $3$ or higher. +\end{theorem} + +\begin{proof} + Suppose you could solve the closest point problem for arbitrary + cubic functions $f = ax^3 + bx^2 + cx + d$ and arbitrary points $P = (x_P, y_P)$. + + Then you could solve the following problem for $x$: + \begin{align} + 0 &\stackrel{!}{=} \left ((d_{P,f}(x))^2 \right )' + &=-2 x_p + 2x -2y_p(f(x))' + (f(x)^2)'\\ + &= 2 f(x) \cdot f'(x) - 2 y_p f'(x) + 2x - 2 x_p\\ + &= f(x) \cdot f'(x) - y_p f'(x) + x - x_p\\ + &= \underbrace{f'(x) \cdot \left (f(x) - y_p \right )}_{\text{Polynomial of degree 5}} + x - x_p + \end{align} + + General algebraic equations of degree 5 don't have a solution formula.\footnote{TODO: Quelle} + Although here seems to be more structure, the resulting algebraic + equation can be almost any polynomial of degree 5:\footnote{Thanks to Peter Košinár on \href{http://math.stackexchange.com/a/584814/6876}{math.stackexchange.com} for this one} + + \begin{align} + 0 &\stackrel{!}{=} f'(x) \cdot \left (f(x) - y_p \right ) + (x - x_p)\\ + &= \underbrace{3 a^2}_{= \tilde{a}} x^5 + \underbrace{5ab}_{\tilde{b}}x^4 + \underbrace{2(2ac + b^2 )}_{=: \tilde{c}}x^3 &+& \underbrace{3(ad+bc-ay_p)}_{\tilde{d}} x^2 \\ + & &+& \underbrace{(2 b d+c^2+1-2 b y_p)}_{=: \tilde{e}}x+\underbrace{c d-c y_p-x_p}_{=: \tilde{f}}\\ + 0 &\stackrel{!}{=} \tilde{a}x^5 + \tilde{b}x^4 + \tilde{c}x^3 + \tilde{d}x^2 + \tilde{e}x + \tilde{f} + \end{align} + + \begin{enumerate} + \item For any coefficient $\tilde{a} \in \mdr_{> 0}$ of $x^5$ we can choose $a$ such that we get $\tilde{a}$. + \item For any coefficient $\tilde{b} \in \mdr \setminus \Set{0}$ of $x^4$ we can choose $b$ such that we get $\tilde{b}$. + \item With $c$, we can get any value of $\tilde{c} \in \mdr$. + \item With $d$, we can get any value of $\tilde{d} \in \mdr$. + \item With $y_p$, we can get any value of $\tilde{e} \in \mdr$. + \item With $x_p$, we can get any value of $\tilde{f} \in \mdr$. + \end{enumerate} + + The first restriction guaratees that we have a polynomial of + degree 5. The second one is necessary, to get a high range of + $\tilde{e}$. + + This means, that there is no solution formula for the problem of + finding the closest points on a cubic function to a given point, + because if there was one, you could use this formula for finding + roots of polynomials of degree 5. $\qed$ +\end{proof} + + +\subsection{Another approach} +\todo[inline]{Currently, this is only an idea. It might be usefull +to move the cubic function $f$ such that $f$ is point symmetric +to the origin. But I'm not sure how to make use of this symmetry.} +Just like we moved the function $f$ and the point to get in a +nicer situation, we can apply this approach for cubic functions. + +\begin{figure}[htp] + \centering +\begin{tikzpicture} + \begin{axis}[ + legend pos=south east, + axis x line=middle, + axis y line=middle, + grid = major, + width=0.8\linewidth, + height=8cm, + grid style={dashed, gray!30}, + xmin=-3, % start the diagram at this x-coordinate + xmax= 3, % end the diagram at this x-coordinate + ymin=-3, % start the diagram at this y-coordinate + ymax= 3, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=$x$, + ylabel=$y$, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + \addplot[domain=-3:3, thick,samples=50, red] {x*x*x}; + \addplot[domain=-3:3, thick,samples=50, green] {x*x*x+x}; + \addplot[domain=-3:3, thick,samples=50, orange] {x*x*x-x}; + \addplot[domain=-3:3, thick,samples=50, blue, dotted] {x*x*x+2*x}; + \addplot[domain=-3:3, thick,samples=50, lime, dashed] {x*x*x+3*x}; + \addlegendentry{$f_1(x)=x^3$} + \addlegendentry{$f_2(x)=x^3 + x$} + \addlegendentry{$f_1(x)=x^3 - x$} + \addlegendentry{$f_2(x)=x^3 + 2 \cdot x$} + \addlegendentry{$f_2(x)=x^3 + 3 \cdot x$} + \end{axis} +\end{tikzpicture} + \caption{Cubic functions with $b = d = 0$} +\end{figure} + +First, we move $f_0$ by $\frac{b}{3a}$ to the right, so + +\[f_1(x) = ax^3 + \frac{b^2 (c-1)}{3a} x + \frac{2b^3}{27 a^2} - \frac{bc}{3a} + d \;\;\;\text{ and }\;\;\;P_1 = (x_P + \frac{b}{3a}, y_P)\] + +because + +\begin{align} + f_1(x) &= a \left (x - \frac{b}{3a} \right )^3 + b \left (x-\frac{b}{3a} \right )^2 + c \left (x-\frac{b}{3a} \right ) + d\\ + &= a \left (x^3 - 3 \frac{b}{3a}x^2 + 3 (\frac{b}{3a})^2 x - \frac{b^3}{27a^3} \right ) + +b \left (x^2 - \frac{2b}{3a} x + \frac{b^2}{9a^2} \right ) + +c x - \frac{bc}{3a} + d\\ + &= ax^3 - bx^2 + \frac{b^2}{3a}x - \frac{b^3}{27 a^2}\\ + & \;\;\;\;\;\;+ bx^2 - \frac{2b^2}{3a}x + \frac{b^3}{9a^2}\\ + & \;\;\;\;\;\;\;\;\;\;\;\; + c x - \frac{bc}{3a} + d\\ + &= ax^3 + \frac{b^2}{3a}\left (1-2+c \right )x + \frac{b^3}{9a^2} \left (1-\frac{1}{3} \right )- \frac{bc}{3a} + d +\end{align} + +\subsection{Number of points with minimal distance} +As this leads to a polynomial of degree 5 of which we have to find +roots, there cannot be more than 5 solutions. +\todo[inline]{Can there be 3, 4 or even 5 solutions? Examples! + +After looking at function graphs of cubic functions, I'm pretty +sure that there cannot be 4 or 5 solutions, no matter how you +chose the cubic function $f$ and $P$. + +I'm also pretty sure that there is no polynomial (no matter what degree) +that has more than 3 solutions.} + + +\subsection{Interpolation and approximation} +\subsubsection{Quadratic spline interpolation} +You could interpolate the cubic function by a quadratic spline. + +\subsubsection{Bisection method} +\todo[inline]{TODO} + +\subsubsection{Newtons method} +One way to find roots of functions is Newtons method. It gives an +iterative computation procedure that can converge quadratically +if some conditions are met: + +\begin{theorem}[local quadratic convergence of Newton's method] + Let $D \subseteq \mdr^n$ be open and $f: D \rightarrow \mdr^n \in C^2(\mdr)$. + Let $x^* \in D$ with $f(x^*) = 0$ and the Jaccobi-Matrix $f'(x^*)$ + should not be invertable when evaluated at the root. + + Then there is a sphere + \[K := K_\rho(x^*) = \Set{x \in \mdr^n | \|x- x^*\|_\infty \leq \rho} \subseteq D\] + such that $x^*$ is the only root of $f$ in $K$. Furthermore, + the elements of the sequence + \[ x_{n+1} = x_n - \frac{f'(x_n)}{f(x_n)}\] + are for every starting value $x_0 \in K$ again in $K$ and + \[\lim_{n \rightarrow \infty} x_k = x^*\] + Also, there is a constant $C > 0$ such that + \[\|x^* - x_{n+1} \| = C \|x^* - x_n\|^2 \text{ for } n \in \mathbb{N}_0\|\] +\end{theorem} + +The approach is extraordinary simple. You choose a starting value +$x_0$ and compute + +\[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\] + +As soon as the values don't change much, you are close to a root. +The problem of this approach is choosing a starting value that is +close enough to the root. So we have to have a \enquote{good} +initial guess. + +\subsubsection{Quadratic minimization} +\todo[inline]{TODO} + +\section{Defined on a closed interval of $\mdr$} diff --git a/documents/math-minimal-distance-to-cubic-function/introduction.tex b/documents/math-minimal-distance-to-cubic-function/introduction.tex new file mode 100644 index 0000000..cf4a060 --- /dev/null +++ b/documents/math-minimal-distance-to-cubic-function/introduction.tex @@ -0,0 +1,24 @@ +\chapter*{Introduction} +When you want to develop a selfdriving car, you have to plan which path +it should take. A reasonable choice for the representation of +paths are cubic splines. You also have to be able to calculate +how to steer to get or to remain on a path. A way to do this +is applying the \href{https://en.wikipedia.org/wiki/PID_algorithm}{PID algorithm}. +This algorithm needs to know the signed current error. So you need to +be able to get the minimal distance of a point to a cubic spline combined with the direction (left or right). +As you need to get the signed error (and one steering direction might +be prefered), it is not only necessary to +get the minimal absolute distance, but might also help to get all points +on the spline with minimal distance. + +In this paper I want to discuss how to find all points on a cubic +function with minimal distance to a given point. +As other representations of paths might be easier to understand and +to implement, I will also cover the problem of finding the minimal +distance of a point to a polynomial of degree 0, 1 and 2. + +While I analyzed this problem, I've got interested in variations +of the underlying PID-related problem. So I will try to give +robust and easy-to-implement algorithms to calculated the distance +of a point to a (piecewise or global) defined polynomial function +of degree $\leq 3$. diff --git a/documents/math-minimal-distance-to-cubic-function/linear-functions.tex b/documents/math-minimal-distance-to-cubic-function/linear-functions.tex new file mode 100644 index 0000000..1b8041b --- /dev/null +++ b/documents/math-minimal-distance-to-cubic-function/linear-functions.tex @@ -0,0 +1,58 @@ +\chapter{Linear function} +\section{Defined on $\mdr$} +Let $f(x) = m \cdot x + t$ with $m \in \mdr \setminus \Set{0}$ and +$t \in \mdr$ be a linear function. + +\begin{figure}[htp] + \centering + \begin{tikzpicture} + \begin{axis}[ + legend pos=north east, + axis x line=middle, + axis y line=middle, + grid = major, + width=0.8\linewidth, + height=8cm, + grid style={dashed, gray!30}, + xmin= 0, % start the diagram at this x-coordinate + xmax= 5, % end the diagram at this x-coordinate + ymin= 0, % start the diagram at this y-coordinate + ymax= 3, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=$x$, + ylabel=$y$, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + \addplot[domain=-5:5, thick,samples=50, red] {0.5*x}; + \addplot[domain=-5:5, thick,samples=50, blue] {-2*x+6}; + \addplot[black, mark = *, nodes near coords=$P$,every node near coord/.style={anchor=225}] coordinates {(2, 2)}; + \addlegendentry{$f(x)=\frac{1}{2}x$} + \addlegendentry{$g(x)=-2x+6$} + \end{axis} + \end{tikzpicture} + \caption{The shortest distance of $P$ to $f$ can be calculated by using the perpendicular} + \label{fig:linear-min-distance} +\end{figure} + +Now you can drop a perpendicular $f_\bot$ through $P$ on $f(x)$. The +slope of $f_\bot$ is $- \frac{1}{m}$ and $t_\bot$ can be calculated:\nobreak +\begin{align} + f_\bot(x) &= - \frac{1}{m} \cdot x + t_\bot\\ + \Rightarrow y_P &= - \frac{1}{m} \cdot x_P + t_\bot\\ + \Leftrightarrow t_\bot &= y_P + \frac{1}{m} \cdot x_P +\end{align} + +The point $(x, f(x))$ where the perpendicular $f_\bot$ crosses $f$ +is calculated this way: +\begin{align} + f(x) &= f_\bot(x)\\ + \Leftrightarrow m \cdot x + t &= - \frac{1}{m} \cdot x + \left(y_P + \frac{1}{m} \cdot x_P \right)\\ + \Leftrightarrow \left (m + \frac{1}{m} \right ) \cdot x &= y_P + \frac{1}{m} \cdot x_P - t\\ + \Leftrightarrow x &= \frac{m}{m^2+1} \left ( y_P + \frac{1}{m} \cdot x_P - t \right ) +\end{align} + +There is only one point with minimal distance. See Figure~\ref{fig:linear-min-distance}. + +\section{Defined on a closed interval of $\mdr$} diff --git a/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.pdf b/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.pdf index 48a602b..fbfa940 100644 Binary files a/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.pdf and b/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.pdf differ diff --git a/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.tex b/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.tex index 9ddbd25..38effd2 100644 --- a/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.tex +++ b/documents/math-minimal-distance-to-cubic-function/math-minimal-distance-to-cubic-function.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper]{scrartcl} +\documentclass[a4paper,oneside,DIV15,BCOR12mm]{scrbook} \usepackage{amssymb, amsmath} % needed for math \usepackage{mathtools} % \xRightarrow \usepackage[utf8]{inputenc} % this is needed for umlauts @@ -16,7 +16,8 @@ \usepackage{framed} \usepackage{nicefrac} \usepackage{siunitx} -\usepackage{csquotes} +\usepackage{csquotes} % enquote +\usepackage{microtype} % better document formatting %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Define theorems % @@ -54,586 +55,18 @@ % Begin document % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} +\pagenumbering{roman} +\setcounter{page}{1} \maketitle -\begin{abstract} -When you want to develop a selfdriving car, you have to plan which path -it should take. A reasonable choice for the representation of -paths are cubic splines. You also have to be able to calculate -how to steer to get or to remain on a path. A way to do this -is applying the \href{https://en.wikipedia.org/wiki/PID_algorithm}{PID algorithm}. -This algorithm needs to know the signed current error. So you need to -be able to get the minimal distance of a point to a cubic spline combined with the direction (left or right). -As you need to get the signed error (and one steering direction might -be prefered), it is not only necessary to -get the minimal absolute distance, but might also help to get all points -on the spline with minimal distance. - -In this paper I want to discuss how to find all points on a cubic -function with minimal distance to a given point. -As other representations of paths might be easier to understand and -to implement, I will also cover the problem of finding the minimal -distance of a point to a polynomial of degree 0, 1 and 2. -\end{abstract} - -\section{Description of the Problem} -Let $f: \mdr \rightarrow \mdr$ be a polynomial function and $P \in \mdr^2$ -be a point. Let $d_{P,f}: \mdr \rightarrow \mdr_0^+$ -be the Euklidean distance of a point $P$ and a point $\left (x, f(x) \right )$ -on the graph of $f$: -\[d_{P,f} (x) := \sqrt{(x_P - x)^2 + (y_P - f(x))^2}\] - -Now there is finite set $M = \Set{x_1, \dots, x_n}$ of minima for given $f$ and $P$: -\[M = \Set{x \in \mdr | d_{P,f}(x) = \min_{\overline{x} \in \mdr} d_{P,f}(\overline{x})}\] - -But minimizing $d_{P,f}$ is the same as minimizing $d_{P,f}^2$: -\begin{align} - d_{P,f}(x)^2 &= \sqrt{(x_P - x)^2 + (y_P - f(x))^2}^2\\ - &= x_p^2 - 2x_p x + x^2 + y_p^2 - 2y_p f(x) + f(x)^2 -\end{align} - -\begin{theorem}[Fermat's theorem about stationary points]\label{thm:required-extremum-property} - Let $x_0$ be a local extremum of a differentiable function $f: \mathbb{R} \rightarrow \mathbb{R}$. - - Then: $f'(x_0) = 0$. -\end{theorem} -\clearpage - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Constant functions % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Minimal distance to a constant function} -Let $f(x) = c$ with $c \in \mdr$ be a constant function. - -\begin{figure}[htp] - \centering - \begin{tikzpicture} - \begin{axis}[ - legend pos=north west, - axis x line=middle, - axis y line=middle, - grid = major, - width=0.8\linewidth, - height=8cm, - grid style={dashed, gray!30}, - xmin=-5, % start the diagram at this x-coordinate - xmax= 5, % end the diagram at this x-coordinate - ymin= 0, % start the diagram at this y-coordinate - ymax= 3, % end the diagram at this y-coordinate - axis background/.style={fill=white}, - xlabel=$x$, - ylabel=$y$, - tick align=outside, - minor tick num=-3, - enlargelimits=true, - tension=0.08] - \addplot[domain=-5:5, thick,samples=50, red] {1}; - \addplot[domain=-5:5, thick,samples=50, green] {2}; - \addplot[domain=-5:5, thick,samples=50, blue, densely dotted] {3}; - \addplot[black, mark = *, nodes near coords=$P$,every node near coord/.style={anchor=225}] coordinates {(2, 2)}; - \addplot[blue, mark = *, nodes near coords=$P_{h,\text{min}}$,every node near coord/.style={anchor=225}] coordinates {(2, 3)}; - \addplot[green, mark = x, nodes near coords=$P_{g,\text{min}}$,every node near coord/.style={anchor=120}] coordinates {(2, 2)}; - \addplot[red, mark = *, nodes near coords=$P_{f,\text{min}}$,every node near coord/.style={anchor=225}] coordinates {(2, 1)}; - \draw[thick, dashed] (axis cs:2,0) -- (axis cs:2,3); - \addlegendentry{$f(x)=1$} - \addlegendentry{$g(x)=2$} - \addlegendentry{$h(x)=3$} - \end{axis} - \end{tikzpicture} - \caption{Three constant functions and their points with minimal distance} - \label{fig:constant-min-distance} -\end{figure} - -Then $(x_P,f(x_P))$ has -minimal distance to $P$. Every other point has higher distance. -See Figure~\ref{fig:constant-min-distance}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Linear functions % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Minimal distance to a linear function} -Let $f(x) = m \cdot x + t$ with $m \in \mdr \setminus \Set{0}$ and -$t \in \mdr$ be a linear function. - -\begin{figure}[htp] - \centering - \begin{tikzpicture} - \begin{axis}[ - legend pos=north east, - axis x line=middle, - axis y line=middle, - grid = major, - width=0.8\linewidth, - height=8cm, - grid style={dashed, gray!30}, - xmin= 0, % start the diagram at this x-coordinate - xmax= 5, % end the diagram at this x-coordinate - ymin= 0, % start the diagram at this y-coordinate - ymax= 3, % end the diagram at this y-coordinate - axis background/.style={fill=white}, - xlabel=$x$, - ylabel=$y$, - tick align=outside, - minor tick num=-3, - enlargelimits=true, - tension=0.08] - \addplot[domain=-5:5, thick,samples=50, red] {0.5*x}; - \addplot[domain=-5:5, thick,samples=50, blue] {-2*x+6}; - \addplot[black, mark = *, nodes near coords=$P$,every node near coord/.style={anchor=225}] coordinates {(2, 2)}; - \addlegendentry{$f(x)=\frac{1}{2}x$} - \addlegendentry{$g(x)=-2x+6$} - \end{axis} - \end{tikzpicture} - \caption{The shortest distance of $P$ to $f$ can be calculated by using the perpendicular} - \label{fig:linear-min-distance} -\end{figure} - -Now you can drop a perpendicular $f_\bot$ through $P$ on $f(x)$. The -slope of $f_\bot$ is $- \frac{1}{m}$ and $t_\bot$ can be calculated:\nobreak -\begin{align} - f_\bot(x) &= - \frac{1}{m} \cdot x + t_\bot\\ - \Rightarrow y_P &= - \frac{1}{m} \cdot x_P + t_\bot\\ - \Leftrightarrow t_\bot &= y_P + \frac{1}{m} \cdot x_P -\end{align} - -The point $(x, f(x))$ where the perpendicular $f_\bot$ crosses $f$ -is calculated this way: -\begin{align} - f(x) &= f_\bot(x)\\ - \Leftrightarrow m \cdot x + t &= - \frac{1}{m} \cdot x + \left(y_P + \frac{1}{m} \cdot x_P \right)\\ - \Leftrightarrow \left (m + \frac{1}{m} \right ) \cdot x &= y_P + \frac{1}{m} \cdot x_P - t\\ - \Leftrightarrow x &= \frac{m}{m^2+1} \left ( y_P + \frac{1}{m} \cdot x_P - t \right ) -\end{align} - -There is only one point with minimal distance. See Figure~\ref{fig:linear-min-distance}. -\clearpage -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Quadratic functions % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Minimal distance to a quadratic function} -Let $f(x) = a \cdot x^2 + b \cdot x + c$ with $a \in \mdr \setminus \Set{0}$ and -$b, c \in \mdr$ be a quadratic function. - -\begin{figure}[htp] - \centering -\begin{tikzpicture} - \begin{axis}[ - legend pos=north west, - axis x line=middle, - axis y line=middle, - grid = major, - width=0.8\linewidth, - height=8cm, - grid style={dashed, gray!30}, - xmin=-3, % start the diagram at this x-coordinate - xmax= 3, % end the diagram at this x-coordinate - ymin=-0.25, % start the diagram at this y-coordinate - ymax= 9, % end the diagram at this y-coordinate - axis background/.style={fill=white}, - xlabel=$x$, - ylabel=$y$, - tick align=outside, - minor tick num=-3, - enlargelimits=true, - tension=0.08] - \addplot[domain=-3:3, thick,samples=50, red] {0.5*x*x}; - \addplot[domain=-3:3, thick,samples=50, green] { x*x}; - \addplot[domain=-3:3, thick,samples=50, blue] { x*x + x}; - \addplot[domain=-3:3, thick,samples=50, orange,dotted] { x*x + 2*x}; - \addplot[domain=-3:3, thick,samples=50, black,dashed] {-x*x + 6}; - \addlegendentry{$f_1(x)=\frac{1}{2}x^2$} - \addlegendentry{$f_2(x)=x^2$} - \addlegendentry{$f_3(x)=x^2+x$} - \addlegendentry{$f_4(x)=x^2+2x$} - \addlegendentry{$f_5(x)=-x^2+6$} - \end{axis} -\end{tikzpicture} - \caption{Quadratic functions} -\end{figure} - -\subsection{Calculate points with minimal distance} -In this case, $d_{P,f}^2$ is polynomial of degree 4. -We use Theorem~\ref{thm:required-extremum-property}:\nobreak -\begin{align} - 0 &\overset{!}{=} (d_{P,f}^2)'\\ - &= -2 x_p + 2x -2y_p f'(x) + \left (f(x)^2 \right )'\\ - &= -2 x_p + 2x -2y_p f'(x) + 2 f(x) \cdot f'(x) \rlap{\hspace*{3em}(chain rule)}\label{eq:minimizingFirstDerivative}\\ -\Leftrightarrow 0 &\overset{!}{=} -x_p + x -y_p f'(x) + f(x) \cdot f'(x) \rlap{\hspace*{3em}(divide by 2)}\label{eq:minimizingFirstDerivative}\\ - &= -x_p + x -y_p (2ax+b) + (ax^2+bx+c)(2ax+b)\\ - &= -x_p + x -y_p \cdot 2ax- y_p b + (2 a^2 x^3+2 a b x^2+2 a c x+ab x^2+b^2 x+bc)\\ - &= -x_p + x -2y_p ax- y_p b + (2a^2 x^3 + 3 ab x^2 + 2acx + b^2 x + bc)\\ - &= 2a^2 x^3 + 3 ab x^2 + (1 -2y_p a+ 2ac + b^2)x +(bc-by_p-x_p)\label{eq:quadratic-derivative-eq-0} -\end{align} - -This is an algebraic equation of degree 3. -There can be up to 3 solutions in such an equation. Those solutions -can be found with a closed formula. - -\todo[inline]{Where are those closed formulas?} - -\begin{example} - Let $a = 1, b = 0, c= 1, x_p= 0, y_p = 1$. - So $f(x) = x^2 + 1$ and $P(0, 1)$. - -\begin{align} - 0 &\stackrel{!}{=} 4 x^3 - 2x\\ - &=2x(2x^2 - 1)\\ - \Rightarrow x_1 &= 0 \;\;\; x_{2,3} = \pm \frac{1}{\sqrt{2}} -\end{align} - -As you can easily verify, only $x_1$ is a minimum of $d_{P,f}$. -\end{example} - - -\subsection{Number of points with minimal distance} -\begin{theorem} - A point $P$ has either one or two points on the graph of a - quadratic function $f$ that are closest to $P$. -\end{theorem} - -In the following, I will do some transformations with $f = f_0$ and -$P = P_0$ . - -Moving $f_0$ and $P_0$ simultaneously in $x$ or $y$ direction does -not change the minimum distance. Furthermore, we can find the -points with minimum distance on the moved situation and calculate -the minimum points in the original situation. - -First of all, we move $f_0$ and $P_0$ by $\frac{b}{2a}$ in $x$ direction, so -\[f_1(x) = ax^2 - \frac{b^2}{4a} + c \;\;\;\text{ and }\;\;\; P_1 = \left (x_p+\frac{b}{2a},\;\; y_p \right )\] - -Because:\footnote{The idea why you subtract $\frac{b}{2a}$ within -$f$ is that when you subtract something from $x$ before applying -$f$ it takes more time ($x$ needs to be bigger) to get to the same -situation. So to move the whole graph by $1$ to the left whe have -to add $+1$.} -\begin{align} - f(x-\nicefrac{b}{2a}) &= a (x-\nicefrac{b}{2a})^2 + b (x-\nicefrac{b}{2a}) + c\\ - &= a (x^2 - \nicefrac{b}{a} x + \nicefrac{b^2}{4a^2}) + bx - \nicefrac{b^2}{2a} + c\\ - &= ax^2 - bx + \nicefrac{b^2}{4a} + bx - \nicefrac{b^2}{2a} + c\\ - &= ax^2 -\nicefrac{b^2}{4a} + c -\end{align} - - -Then move $f_1$ and $P_1$ by $\frac{b^2}{4a}-c$ in $y$ direction. You get: -\[f_2(x) = ax^2\;\;\;\text{ and }\;\;\; P_2 = \Big (\underbrace{x_P+\frac{b}{2a}}_{=: z},\;\; \underbrace{y_P+\frac{b^2}{4a}-c}_{=: w} \Big )\] - -\textbf{Case 1:} As $f_2(x) = ax^2$ is symmetric to the $y$ axis, only points -$P = (0, w)$ could possilby have three minima. - -Then compute: -\begin{align} - d_{P,{f_2}}(x) &= \sqrt{(x-0)^2 + (f_2(x)-w)^2}\\ - &= \sqrt{x^2 + (ax^2-w)^2}\\ - &= \sqrt{x^2 + a^2 x^4-2aw x^2+w^2}\\ - &= \sqrt{a^2 x^4 + (1-2aw) x^2 + w^2}\\ - &= \sqrt{\left (a^2 x^2 + \frac{1-2 a w}{2} \right )^2 + w^2 - (1-2 a w)^2}\\ - &= \sqrt{\left (a^2 x^2 + \nicefrac{1}{2}-a w \right )^2 + \big (w^2 - (1-2 a w)^2 \big)} -\end{align} - -The term -\[a^2 x^2 + (\nicefrac{1}{2}-a w)\] -should get as close to $0$ as possilbe when we want to minimize -$d_{P,{f_2}}$. For $w \leq \nicefrac{1}{2a}$ you only have $x = 0$ as a minimum. -For all other points $P = (0, w)$, there are exactly two minima $x_{1,2} = \pm \sqrt{aw - \nicefrac{1}{2}}$. - -\textbf{Case 2:} $P = (z, w)$ is not on the symmetry axis, so $z \neq 0$. Then you compute: -\begin{align} - d_{P,{f_2}}(x) &= \sqrt{(x-z)^2 + (f(x)-w)^2}\\ - &= \sqrt{(x^2 - 2zx + z^2) + ((ax^2)^2 - 2 awx^2 + w^2)}\\ - &= \sqrt{a^2x^4 + (1- 2 aw)x^2 +(- 2z)x + z^2 + w^2}\\ - 0 &\stackrel{!}{=} \Big(\big(d_{P, {f_2}}(x)\big)^2\Big)' \\ - &= 4a^2x^3 + 2(1- 2 aw)x +(- 2z)\\ - &= 2 \left (2a^2x^2 + (1- 2 aw) \right )x - 2z\\ - \Leftrightarrow 0 &\stackrel{!}{=} (2a^2x^2 + (1- 2 aw)) x - z\\ - &= 2 a^2 x^3 + (1- 2 aw) x - z\\ -\Leftrightarrow 0 &\stackrel{!}{=} x^3 + \underbrace{\frac{(1- 2 aw)}{2 a^2}}_{=: \alpha} x + \underbrace{\frac{-z}{2 a^2}}_{=: \beta}\\ - &= x^3 + \alpha x + \beta\label{eq:simple-cubic-equation-for-quadratic-distance} -\end{align} - -The solution of Equation~\ref{eq:simple-cubic-equation-for-quadratic-distance} -is -\[t := \sqrt[3]{\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta}\] -\[x = \frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t}\] - -When you insert this in Equation~\ref{eq:simple-cubic-equation-for-quadratic-distance} -you get:\footnote{Remember: $(a-b)^3 = a^3-3 a^2 b+3 a b^2-b^3$} -\allowdisplaybreaks -\begin{align} - 0 &\stackrel{!}{=} \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right )^3 + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ -&= (\frac{t}{\sqrt[3]{18}})^3 - - 3 (\frac{t}{\sqrt[3]{18}})^2 \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} - + 3 (\frac{t}{\sqrt[3]{18}})(\frac{\sqrt[3]{\frac{2}{3}} \alpha }{t})^2 - - (\frac{\sqrt[3]{\frac{2}{3}} \alpha }{t})^3 - + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ -&= \frac{t^3}{18} - - \frac{3t^2}{\sqrt[3]{18^2}} \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} - + \frac{3t}{\sqrt[3]{18}} \frac{\sqrt[3]{\frac{4}{9}} \alpha^2 }{t^2} - - \frac{\frac{2}{3} \alpha^3 }{t^3} - + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ -&= \frac{t^3}{18} - - \frac{\sqrt[3]{18} t \alpha}{\sqrt[3]{18^2}} - + \frac{\sqrt[3]{12} \alpha^2}{\sqrt[3]{18} t} - - \frac{\frac{2}{3} \alpha^3 }{t^3} - + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ -&= \frac{t^3}{18} - - \frac{t \alpha}{\sqrt[3]{18}} - \color{red}+ \frac{\sqrt[3]{2} \alpha^2}{\sqrt[3]{3} t} \color{black} - - \frac{\frac{2}{3} \alpha^3 }{t^3} - + \color{red}\alpha \color{black} \left (\frac{t}{\sqrt[3]{18}} \color{red}- \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \color{black}\right ) - + \beta\\ -&= \frac{t^3}{18} \color{blue}- \frac{t \alpha}{\sqrt[3]{18}} \color{black} - - \frac{\frac{2}{3} \alpha^3 }{t^3} - \color{blue}+ \frac{\alpha t}{\sqrt[3]{18}} \color{black} - + \beta\\ -&= \frac{t^3}{18} - \frac{\frac{2}{3} \alpha^3 }{t^3} + \beta\\ -&= \frac{t^6 - 12 \alpha^3 + \beta 18 t^3}{18t^3} -\end{align} - -Now only go on calculating with the numerator. Start with resubstituting -$t$: -\begin{align} -0 &= (\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta)^2 - 12 \alpha^3 + \beta 18 (\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta)\\ -&= (\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)})^2 +(9\beta)^2 - 12 \alpha^3 -18\cdot 9\beta^2\\ -&= 3 \cdot (4 \alpha^3 + 27 \beta^2) -81 \beta^2 - 12 \alpha^3\\ -&= (4 \alpha^3 + 27 \beta^2) -27 \beta^2 - 4 \alpha^3\\ -&= 0 -\end{align} - -\goodbreak -So the solution is given by -\begin{align*} -x_S &:= - \frac{b}{2a} \;\;\;\;\; \text{(the symmetry axis)}\\ -w &:= y_P+\frac{b^2}{4a}-c \;\;\; \text{ and } \;\;\; z := x_P+\frac{b}{2a}\\ -\alpha &:= \frac{(1- 2 aw)}{2 a^2} \;\;\;\text{ and }\;\;\; \beta := \frac{-z}{2 a^2}\\ -t &:= \sqrt[3]{\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta}\\ -\underset{x\in\mdr}{\arg \min d_{P,f}(x)} &= \begin{cases} - x_1 = +\sqrt{a (y_p + \frac{b^2}{4a} - c) - \frac{1}{2}} + x_S \text{ and } &\text{if } x_P = x_S \text{ and } y_p + \frac{b^2}{4a} - c > \frac{1}{2a} \\ - x_2 = -\sqrt{a (y_p + \frac{b^2}{4a} - c) - \frac{1}{2}} + x_S\\ - x_1 = x_S &\text{if } x_P = x_S \text{ and } y_p + \frac{b^2}{4a} - c \leq \frac{1}{2a} \\ - x_1 = \frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} &\text{if } x_P \neq x_S - \end{cases} -\end{align*} - -\clearpage -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Cubic % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Minimal distance to a cubic function} -Let $f(x) = a \cdot x^3 + b \cdot x^2 + c \cdot x + d$ be a cubic function -with $a \in \mdr \setminus \Set{0}$ and -$b, c, d \in \mdr$ be a function. - -\begin{figure}[htp] - \centering -\begin{tikzpicture} - \begin{axis}[ - legend pos=south east, - axis x line=middle, - axis y line=middle, - grid = major, - width=0.8\linewidth, - height=8cm, - grid style={dashed, gray!30}, - xmin=-3, % start the diagram at this x-coordinate - xmax= 3, % end the diagram at this x-coordinate - ymin=-3, % start the diagram at this y-coordinate - ymax= 3, % end the diagram at this y-coordinate - axis background/.style={fill=white}, - xlabel=$x$, - ylabel=$y$, - tick align=outside, - minor tick num=-3, - enlargelimits=true, - tension=0.08] - \addplot[domain=-3:3, thick,samples=50, red] {x*x*x}; - \addplot[domain=-3:3, thick,samples=50, green] {x*x*x+x*x}; - \addplot[domain=-3:3, thick,samples=50, blue] {x*x*x+2*x*x}; - \addplot[domain=-3:3, thick,samples=50, orange] {x*x*x+x}; - \addlegendentry{$f_1(x)=x^3$} - \addlegendentry{$f_2(x)=x^3 + x^2$} - \addlegendentry{$f_2(x)=x^3 + 2 \cdot x^2$} - \addlegendentry{$f_1(x)=x^3 + x$} - \end{axis} -\end{tikzpicture} - \caption{Cubic functions} -\end{figure} - -% -%\subsection{Special points} -%\todo[inline]{Write this} -% -%\subsection{Voronoi} -% -%For $b^2 \geq 3ac$ -% -%\todo[inline]{Write this} - -\subsection{Calculate points with minimal distance} -\begin{theorem} - There cannot be an algebraic solution to the problem of finding - a closest point $(x, f(x))$ to a given point $P$ when $f$ is - a polynomial function of degree $3$ or higher. -\end{theorem} - -\begin{proof} - Suppose you could solve the closest point problem for arbitrary - cubic functions $f = ax^3 + bx^2 + cx + d$ and arbitrary points $P = (x_P, y_P)$. - - Then you could solve the following problem for $x$: - \begin{align} - 0 &\stackrel{!}{=} \left ((d_{P,f}(x))^2 \right )' - &=-2 x_p + 2x -2y_p(f(x))' + (f(x)^2)'\\ - &= 2 f(x) \cdot f'(x) - 2 y_p f'(x) + 2x - 2 x_p\\ - &= f(x) \cdot f'(x) - y_p f'(x) + x - x_p\\ - &= \underbrace{f'(x) \cdot \left (f(x) - y_p \right )}_{\text{Polynomial of degree 5}} + x - x_p - \end{align} - - General algebraic equations of degree 5 don't have a solution formula.\footnote{TODO: Quelle} - Although here seems to be more structure, the resulting algebraic - equation can be almost any polynomial of degree 5:\footnote{Thanks to Peter Košinár on \href{http://math.stackexchange.com/a/584814/6876}{math.stackexchange.com} for this one} - - \begin{align} - 0 &\stackrel{!}{=} f'(x) \cdot \left (f(x) - y_p \right ) + (x - x_p)\\ - &= \underbrace{3 a^2}_{= \tilde{a}} x^5 + \underbrace{5ab}_{\tilde{b}}x^4 + \underbrace{2(2ac + b^2 )}_{=: \tilde{c}}x^3 &+& \underbrace{3(ad+bc-ay_p)}_{\tilde{d}} x^2 \\ - & &+& \underbrace{(2 b d+c^2+1-2 b y_p)}_{=: \tilde{e}}x+\underbrace{c d-c y_p-x_p}_{=: \tilde{f}}\\ - 0 &\stackrel{!}{=} \tilde{a}x^5 + \tilde{b}x^4 + \tilde{c}x^3 + \tilde{d}x^2 + \tilde{e}x + \tilde{f} - \end{align} - - \begin{enumerate} - \item For any coefficient $\tilde{a} \in \mdr_{> 0}$ of $x^5$ we can choose $a$ such that we get $\tilde{a}$. - \item For any coefficient $\tilde{b} \in \mdr \setminus \Set{0}$ of $x^4$ we can choose $b$ such that we get $\tilde{b}$. - \item With $c$, we can get any value of $\tilde{c} \in \mdr$. - \item With $d$, we can get any value of $\tilde{d} \in \mdr$. - \item With $y_p$, we can get any value of $\tilde{e} \in \mdr$. - \item With $x_p$, we can get any value of $\tilde{f} \in \mdr$. - \end{enumerate} - - The first restriction guaratees that we have a polynomial of - degree 5. The second one is necessary, to get a high range of - $\tilde{e}$. - - This means, that there is no solution formula for the problem of - finding the closest points on a cubic function to a given point, - because if there was one, you could use this formula for finding - roots of polynomials of degree 5. $\qed$ -\end{proof} - - -\subsection{Another approach} -\todo[inline]{Currently, this is only an idea. It might be usefull -to move the cubic function $f$ such that $f$ is point symmetric -to the origin. But I'm not sure how to make use of this symmetry.} -Just like we moved the function $f$ and the point to get in a -nicer situation, we can apply this approach for cubic functions. - -\begin{figure}[htp] - \centering -\begin{tikzpicture} - \begin{axis}[ - legend pos=south east, - axis x line=middle, - axis y line=middle, - grid = major, - width=0.8\linewidth, - height=8cm, - grid style={dashed, gray!30}, - xmin=-3, % start the diagram at this x-coordinate - xmax= 3, % end the diagram at this x-coordinate - ymin=-3, % start the diagram at this y-coordinate - ymax= 3, % end the diagram at this y-coordinate - axis background/.style={fill=white}, - xlabel=$x$, - ylabel=$y$, - tick align=outside, - minor tick num=-3, - enlargelimits=true, - tension=0.08] - \addplot[domain=-3:3, thick,samples=50, red] {x*x*x}; - \addplot[domain=-3:3, thick,samples=50, green] {x*x*x+x}; - \addplot[domain=-3:3, thick,samples=50, orange] {x*x*x-x}; - \addplot[domain=-3:3, thick,samples=50, blue, dotted] {x*x*x+2*x}; - \addplot[domain=-3:3, thick,samples=50, lime, dashed] {x*x*x+3*x}; - \addlegendentry{$f_1(x)=x^3$} - \addlegendentry{$f_2(x)=x^3 + x$} - \addlegendentry{$f_1(x)=x^3 - x$} - \addlegendentry{$f_2(x)=x^3 + 2 \cdot x$} - \addlegendentry{$f_2(x)=x^3 + 3 \cdot x$} - \end{axis} -\end{tikzpicture} - \caption{Cubic functions with $b = d = 0$} -\end{figure} - -First, we move $f_0$ by $\frac{b}{3a}$ to the right, so - -\[f_1(x) = ax^3 + \frac{b^2 (c-1)}{3a} x + \frac{2b^3}{27 a^2} - \frac{bc}{3a} + d \;\;\;\text{ and }\;\;\;P_1 = (x_P + \frac{b}{3a}, y_P)\] - -because - -\begin{align} - f_1(x) &= a \left (x - \frac{b}{3a} \right )^3 + b \left (x-\frac{b}{3a} \right )^2 + c \left (x-\frac{b}{3a} \right ) + d\\ - &= a \left (x^3 - 3 \frac{b}{3a}x^2 + 3 (\frac{b}{3a})^2 x - \frac{b^3}{27a^3} \right ) - +b \left (x^2 - \frac{2b}{3a} x + \frac{b^2}{9a^2} \right ) - +c x - \frac{bc}{3a} + d\\ - &= ax^3 - bx^2 + \frac{b^2}{3a}x - \frac{b^3}{27 a^2}\\ - & \;\;\;\;\;\;+ bx^2 - \frac{2b^2}{3a}x + \frac{b^3}{9a^2}\\ - & \;\;\;\;\;\;\;\;\;\;\;\; + c x - \frac{bc}{3a} + d\\ - &= ax^3 + \frac{b^2}{3a}\left (1-2+c \right )x + \frac{b^3}{9a^2} \left (1-\frac{1}{3} \right )- \frac{bc}{3a} + d -\end{align} - -\subsection{Number of points with minimal distance} -As this leads to a polynomial of degree 5 of which we have to find -roots, there cannot be more than 5 solutions. -\todo[inline]{Can there be 3, 4 or even 5 solutions? Examples! - -After looking at function graphs of cubic functions, I'm pretty -sure that there cannot be 4 or 5 solutions, no matter how you -chose the cubic function $f$ and $P$. - -I'm also pretty sure that there is no polynomial (no matter what degree) -that has more than 3 solutions.} - - -\section{Interpolation and approximation} -\subsection{Quadratic spline interpolation} -You could interpolate the cubic function by a quadratic spline. - -\subsection{Bisection method} - -\subsection{Newtons method} -One way to find roots of functions is Newtons method. It gives an -iterative computation procedure that can converge quadratically -if some conditions are met: - -\begin{theorem}[local quadratic convergence of Newton's method] - Let $D \subseteq \mdr^n$ be open and $f: D \rightarrow \mdr^n \in C^2(\mdr)$. - Let $x^* \in D$ with $f(x^*) = 0$ and the Jaccobi-Matrix $f'(x^*)$ - should not be invertable when evaluated at the root. - - Then there is a sphere - \[K := K_\rho(x^*) = \Set{x \in \mdr^n | \|x- x^*\|_\infty \leq \rho} \subseteq D\] - such that $x^*$ is the only root of $f$ in $K$. Furthermore, - the elements of the sequence - \[ x_{n+1} = x_n - \frac{f'(x_n)}{f(x_n)}\] - are for every starting value $x_0 \in K$ again in $K$ and - \[\lim_{n \rightarrow \infty} x_k = x^*\] - Also, there is a constant $C > 0$ such that - \[\|x^* - x_{n+1} \| = C \|x^* - x_n\|^2 \text{ for } n \in \mathbb{N}_0\|\] -\end{theorem} - -The approach is extraordinary simple. You choose a starting value -$x_0$ and compute - -\[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\] - -As soon as the values don't change much, you are close to a root. -The problem of this approach is choosing a starting value that is -close enough to the root. So we have to have a \enquote{good} -initial guess. - -\subsection{Quadratic minimization} -\todo[inline]{TODO} - -\section{Conclusion} -\todo[inline]{TODO} +\input{introduction} +\tableofcontents + +\pagenumbering{arabic} +\setcounter{page}{1} +\input{problem-description.tex} +\input{constant-functions.tex} +\input{linear-functions.tex} +\input{quadratic-functions.tex} +\input{cubic-functions.tex} \end{document} diff --git a/documents/math-minimal-distance-to-cubic-function/problem-description.tex b/documents/math-minimal-distance-to-cubic-function/problem-description.tex new file mode 100644 index 0000000..decbb81 --- /dev/null +++ b/documents/math-minimal-distance-to-cubic-function/problem-description.tex @@ -0,0 +1,21 @@ +\chapter{Description of the Problem} +Let $f: D \rightarrow \mdr$ with $D \subseteq \mdr$ be a polynomial function and $P \in \mdr^2$ +be a point. Let $d_{P,f}: \mdr \rightarrow \mdr_0^+$ +be the Euklidean distance of a point $P$ and a point $\left (x, f(x) \right )$ +on the graph of $f$: +\[d_{P,f} (x) := \sqrt{(x_P - x)^2 + (y_P - f(x))^2}\] + +Now there is finite set $M = \Set{x_1, \dots, x_n} \subseteq D$ of minima for given $f$ and $P$: +\[M = \Set{x \in D | d_{P,f}(x) = \min_{\overline{x} \in D} d_{P,f}(\overline{x})}\] + +But minimizing $d_{P,f}$ is the same as minimizing $d_{P,f}^2$: +\begin{align} + d_{P,f}(x)^2 &= \sqrt{(x_P - x)^2 + (y_P - f(x))^2}^2\\ + &= x_p^2 - 2x_p x + x^2 + y_p^2 - 2y_p f(x) + f(x)^2 +\end{align} + +\begin{theorem}[Fermat's theorem about stationary points]\label{thm:required-extremum-property} + Let $x_0$ be a local extremum of a differentiable function $f: \mathbb{R} \rightarrow \mathbb{R}$. + + Then: $f'(x_0) = 0$. +\end{theorem} diff --git a/documents/math-minimal-distance-to-cubic-function/quadratic-functions.tex b/documents/math-minimal-distance-to-cubic-function/quadratic-functions.tex new file mode 100644 index 0000000..445dfa5 --- /dev/null +++ b/documents/math-minimal-distance-to-cubic-function/quadratic-functions.tex @@ -0,0 +1,207 @@ +\chapter{Quadratic functions} +\section{Defined on $\mdr$} +Let $f(x) = a \cdot x^2 + b \cdot x + c$ with $a \in \mdr \setminus \Set{0}$ and +$b, c \in \mdr$ be a quadratic function. + +\begin{figure}[htp] + \centering +\begin{tikzpicture} + \begin{axis}[ + legend pos=north west, + axis x line=middle, + axis y line=middle, + grid = major, + width=0.8\linewidth, + height=8cm, + grid style={dashed, gray!30}, + xmin=-3, % start the diagram at this x-coordinate + xmax= 3, % end the diagram at this x-coordinate + ymin=-0.25, % start the diagram at this y-coordinate + ymax= 9, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=$x$, + ylabel=$y$, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + \addplot[domain=-3:3, thick,samples=50, red] {0.5*x*x}; + \addplot[domain=-3:3, thick,samples=50, green] { x*x}; + \addplot[domain=-3:3, thick,samples=50, blue] { x*x + x}; + \addplot[domain=-3:3, thick,samples=50, orange,dotted] { x*x + 2*x}; + \addplot[domain=-3:3, thick,samples=50, black,dashed] {-x*x + 6}; + \addlegendentry{$f_1(x)=\frac{1}{2}x^2$} + \addlegendentry{$f_2(x)=x^2$} + \addlegendentry{$f_3(x)=x^2+x$} + \addlegendentry{$f_4(x)=x^2+2x$} + \addlegendentry{$f_5(x)=-x^2+6$} + \end{axis} +\end{tikzpicture} + \caption{Quadratic functions} +\end{figure} + +\subsection{Calculate points with minimal distance} +In this case, $d_{P,f}^2$ is polynomial of degree 4. +We use Theorem~\ref{thm:required-extremum-property}:\nobreak +\begin{align} + 0 &\overset{!}{=} (d_{P,f}^2)'\\ + &= -2 x_p + 2x -2y_p f'(x) + \left (f(x)^2 \right )'\\ + &= -2 x_p + 2x -2y_p f'(x) + 2 f(x) \cdot f'(x) \rlap{\hspace*{3em}(chain rule)}\label{eq:minimizingFirstDerivative}\\ +\Leftrightarrow 0 &\overset{!}{=} -x_p + x -y_p f'(x) + f(x) \cdot f'(x) \rlap{\hspace*{3em}(divide by 2)}\label{eq:minimizingFirstDerivative}\\ + &= -x_p + x -y_p (2ax+b) + (ax^2+bx+c)(2ax+b)\\ + &= -x_p + x -y_p \cdot 2ax- y_p b + (2 a^2 x^3+2 a b x^2+2 a c x+ab x^2+b^2 x+bc)\\ + &= -x_p + x -2y_p ax- y_p b + (2a^2 x^3 + 3 ab x^2 + 2acx + b^2 x + bc)\\ + &= 2a^2 x^3 + 3 ab x^2 + (1 -2y_p a+ 2ac + b^2)x +(bc-by_p-x_p)\label{eq:quadratic-derivative-eq-0} +\end{align} + +This is an algebraic equation of degree 3. +There can be up to 3 solutions in such an equation. Those solutions +can be found with a closed formula. + +\todo[inline]{Where are those closed formulas?} + +\begin{example} + Let $a = 1, b = 0, c= 1, x_p= 0, y_p = 1$. + So $f(x) = x^2 + 1$ and $P(0, 1)$. + +\begin{align} + 0 &\stackrel{!}{=} 4 x^3 - 2x\\ + &=2x(2x^2 - 1)\\ + \Rightarrow x_1 &= 0 \;\;\; x_{2,3} = \pm \frac{1}{\sqrt{2}} +\end{align} + +As you can easily verify, only $x_1$ is a minimum of $d_{P,f}$. +\end{example} + + +\subsection{Number of points with minimal distance} +\begin{theorem} + A point $P$ has either one or two points on the graph of a + quadratic function $f$ that are closest to $P$. +\end{theorem} + +In the following, I will do some transformations with $f = f_0$ and +$P = P_0$ . + +Moving $f_0$ and $P_0$ simultaneously in $x$ or $y$ direction does +not change the minimum distance. Furthermore, we can find the +points with minimum distance on the moved situation and calculate +the minimum points in the original situation. + +First of all, we move $f_0$ and $P_0$ by $\frac{b}{2a}$ in $x$ direction, so +\[f_1(x) = ax^2 - \frac{b^2}{4a} + c \;\;\;\text{ and }\;\;\; P_1 = \left (x_p+\frac{b}{2a},\;\; y_p \right )\] + +Because:\footnote{The idea why you subtract $\frac{b}{2a}$ within +$f$ is that when you subtract something from $x$ before applying +$f$ it takes more time ($x$ needs to be bigger) to get to the same +situation. So to move the whole graph by $1$ to the left whe have +to add $+1$.} +\begin{align} + f(x-\nicefrac{b}{2a}) &= a (x-\nicefrac{b}{2a})^2 + b (x-\nicefrac{b}{2a}) + c\\ + &= a (x^2 - \nicefrac{b}{a} x + \nicefrac{b^2}{4a^2}) + bx - \nicefrac{b^2}{2a} + c\\ + &= ax^2 - bx + \nicefrac{b^2}{4a} + bx - \nicefrac{b^2}{2a} + c\\ + &= ax^2 -\nicefrac{b^2}{4a} + c +\end{align} + + +Then move $f_1$ and $P_1$ by $\frac{b^2}{4a}-c$ in $y$ direction. You get: +\[f_2(x) = ax^2\;\;\;\text{ and }\;\;\; P_2 = \Big (\underbrace{x_P+\frac{b}{2a}}_{=: z},\;\; \underbrace{y_P+\frac{b^2}{4a}-c}_{=: w} \Big )\] + +\textbf{Case 1:} As $f_2(x) = ax^2$ is symmetric to the $y$ axis, only points +$P = (0, w)$ could possilby have three minima. + +Then compute: +\begin{align} + d_{P,{f_2}}(x) &= \sqrt{(x-0)^2 + (f_2(x)-w)^2}\\ + &= \sqrt{x^2 + (ax^2-w)^2}\\ + &= \sqrt{x^2 + a^2 x^4-2aw x^2+w^2}\\ + &= \sqrt{a^2 x^4 + (1-2aw) x^2 + w^2}\\ + &= \sqrt{\left (a^2 x^2 + \frac{1-2 a w}{2} \right )^2 + w^2 - (1-2 a w)^2}\\ + &= \sqrt{\left (a^2 x^2 + \nicefrac{1}{2}-a w \right )^2 + \big (w^2 - (1-2 a w)^2 \big)} +\end{align} + +The term +\[a^2 x^2 + (\nicefrac{1}{2}-a w)\] +should get as close to $0$ as possilbe when we want to minimize +$d_{P,{f_2}}$. For $w \leq \nicefrac{1}{2a}$ you only have $x = 0$ as a minimum. +For all other points $P = (0, w)$, there are exactly two minima $x_{1,2} = \pm \sqrt{aw - \nicefrac{1}{2}}$. + +\textbf{Case 2:} $P = (z, w)$ is not on the symmetry axis, so $z \neq 0$. Then you compute: +\begin{align} + d_{P,{f_2}}(x) &= \sqrt{(x-z)^2 + (f(x)-w)^2}\\ + &= \sqrt{(x^2 - 2zx + z^2) + ((ax^2)^2 - 2 awx^2 + w^2)}\\ + &= \sqrt{a^2x^4 + (1- 2 aw)x^2 +(- 2z)x + z^2 + w^2}\\ + 0 &\stackrel{!}{=} \Big(\big(d_{P, {f_2}}(x)\big)^2\Big)' \\ + &= 4a^2x^3 + 2(1- 2 aw)x +(- 2z)\\ + &= 2 \left (2a^2x^2 + (1- 2 aw) \right )x - 2z\\ + \Leftrightarrow 0 &\stackrel{!}{=} (2a^2x^2 + (1- 2 aw)) x - z\\ + &= 2 a^2 x^3 + (1- 2 aw) x - z\\ +\Leftrightarrow 0 &\stackrel{!}{=} x^3 + \underbrace{\frac{(1- 2 aw)}{2 a^2}}_{=: \alpha} x + \underbrace{\frac{-z}{2 a^2}}_{=: \beta}\\ + &= x^3 + \alpha x + \beta\label{eq:simple-cubic-equation-for-quadratic-distance} +\end{align} + +The solution of Equation~\ref{eq:simple-cubic-equation-for-quadratic-distance} +is +\[t := \sqrt[3]{\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta}\] +\[x = \frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t}\] + +When you insert this in Equation~\ref{eq:simple-cubic-equation-for-quadratic-distance} +you get:\footnote{Remember: $(a-b)^3 = a^3-3 a^2 b+3 a b^2-b^3$} +\allowdisplaybreaks +\begin{align} + 0 &\stackrel{!}{=} \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right )^3 + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ +&= (\frac{t}{\sqrt[3]{18}})^3 + - 3 (\frac{t}{\sqrt[3]{18}})^2 \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} + + 3 (\frac{t}{\sqrt[3]{18}})(\frac{\sqrt[3]{\frac{2}{3}} \alpha }{t})^2 + - (\frac{\sqrt[3]{\frac{2}{3}} \alpha }{t})^3 + + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ +&= \frac{t^3}{18} + - \frac{3t^2}{\sqrt[3]{18^2}} \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} + + \frac{3t}{\sqrt[3]{18}} \frac{\sqrt[3]{\frac{4}{9}} \alpha^2 }{t^2} + - \frac{\frac{2}{3} \alpha^3 }{t^3} + + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ +&= \frac{t^3}{18} + - \frac{\sqrt[3]{18} t \alpha}{\sqrt[3]{18^2}} + + \frac{\sqrt[3]{12} \alpha^2}{\sqrt[3]{18} t} + - \frac{\frac{2}{3} \alpha^3 }{t^3} + + \alpha \left (\frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \right ) + \beta\\ +&= \frac{t^3}{18} + - \frac{t \alpha}{\sqrt[3]{18}} + \color{red}+ \frac{\sqrt[3]{2} \alpha^2}{\sqrt[3]{3} t} \color{black} + - \frac{\frac{2}{3} \alpha^3 }{t^3} + + \color{red}\alpha \color{black} \left (\frac{t}{\sqrt[3]{18}} \color{red}- \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} \color{black}\right ) + + \beta\\ +&= \frac{t^3}{18} \color{blue}- \frac{t \alpha}{\sqrt[3]{18}} \color{black} + - \frac{\frac{2}{3} \alpha^3 }{t^3} + \color{blue}+ \frac{\alpha t}{\sqrt[3]{18}} \color{black} + + \beta\\ +&= \frac{t^3}{18} - \frac{\frac{2}{3} \alpha^3 }{t^3} + \beta\\ +&= \frac{t^6 - 12 \alpha^3 + \beta 18 t^3}{18t^3} +\end{align} + +Now only go on calculating with the numerator. Start with resubstituting +$t$: +\begin{align} +0 &= (\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta)^2 - 12 \alpha^3 + \beta 18 (\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta)\\ +&= (\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)})^2 +(9\beta)^2 - 12 \alpha^3 -18\cdot 9\beta^2\\ +&= 3 \cdot (4 \alpha^3 + 27 \beta^2) -81 \beta^2 - 12 \alpha^3\\ +&= (4 \alpha^3 + 27 \beta^2) -27 \beta^2 - 4 \alpha^3\\ +&= 0 +\end{align} + +\goodbreak +So the solution is given by +\begin{align*} +x_S &:= - \frac{b}{2a} \;\;\;\;\; \text{(the symmetry axis)}\\ +w &:= y_P+\frac{b^2}{4a}-c \;\;\; \text{ and } \;\;\; z := x_P+\frac{b}{2a}\\ +\alpha &:= \frac{(1- 2 aw)}{2 a^2} \;\;\;\text{ and }\;\;\; \beta := \frac{-z}{2 a^2}\\ +t &:= \sqrt[3]{\sqrt{3 \cdot (4 \alpha^3 + 27 \beta^2)} -9\beta}\\ +\underset{x\in\mdr}{\arg \min d_{P,f}(x)} &= \begin{cases} + x_1 = +\sqrt{a (y_p + \frac{b^2}{4a} - c) - \frac{1}{2}} + x_S \text{ and } &\text{if } x_P = x_S \text{ and } y_p + \frac{b^2}{4a} - c > \frac{1}{2a} \\ + x_2 = -\sqrt{a (y_p + \frac{b^2}{4a} - c) - \frac{1}{2}} + x_S\\ + x_1 = x_S &\text{if } x_P = x_S \text{ and } y_p + \frac{b^2}{4a} - c \leq \frac{1}{2a} \\ + x_1 = \frac{t}{\sqrt[3]{18}} - \frac{\sqrt[3]{\frac{2}{3}} \alpha }{t} &\text{if } x_P \neq x_S + \end{cases} +\end{align*} + +\section{Defined on a closed interval of $\mdr$}