\section{Introduction}

The discovery of the M{\"o}ssbauer effect is  unique.
The emission and absorption of x-rays by gases had been observed previously, and it was expected that the resonance effects  would be found for gamma rays, which are created by nuclear transitions (as opposed to x-rays, which are typically produced by electron transitions). However, attempts to observe nuclear resonance produced by gamma-rays in gases failed due to recoil, preventing resonance (the Doppler effect also broadens the gamma-ray spectrum). M{\"o}ssbauer  was able to observe resonance in nuclei of solid iridium, as opposite to no gamma-ray resonance  in gases. He proposed that, for the case
of atoms bound into a solid, the nuclear events could occur essentially without the recoil.

The photon emission energy for the atom of iridium  is approximately ${\rm 1\;eV}$ and the recoil energy is  $E_{recoil}(optical) = \;$  GeV = $10^{-11}\;$ eV . (Rohlf, 1994).
On the other hand the $\gamma$-emission energy of the iridium nucleus is
$\approx {\rm 10^{5}\; eV}$. Then, the recoil energy caused by the emission of such $\gamma$-ray is $E_{recoil}  \approx 10^{-1}\;$ eV (Rohlf, 1994). So, we see that the recoil caused by the $\gamma$-ray emission is substantially greater  than the recoil caused by the optical emission and we can expect the big shift of spectral lines in the nuclear system.

The motion of the decaying excited nucleus of iridium $^{191}{\rm Ir}^{*}$ causes the Doppler broadening and the Doppler shift of the gamma spectrum. Let us consider the motion of the excited iridium in the direction of the emitted photon. The Doppler formula for the Lorentz boosted proton energy $E'$ is as follows (Rohlf, 1994):

$$E' = E\frac{\sqrt{1 + v/c}}{1 - v/c} = E\gamma(1 - v/c)
\approx E(1 + v/c); .\eqno(1)$$

The fractional change of he proton energy is $(E'- E)/E = v/c. $

The resonance (the overlapping of emission and absorption curves) is destroyed if $v/c$ is equal few times $\Gamma/E = (\hbar/\tau)/E ( = 2.7 \times 10^{-11}$ for iridium), where $\Gamma$ is the natural spectral line width and $\tau$ is the life time of the excited state of nucleus. For $v/c = \Gamma/E$, we get $v/c = {\rm 2.7\times 10^{-11}}$. The corresponding speed is $v = {\rm (3\times 10^{8}\; m/s)\times (2.7 \times 10^{-11}) \approx 10^{-2}\; m.s^{-1}}$.  So, the speed of centimeters per second destroys the resonance absorption. In other words, the overlap of the very narrow absorption and emission curves is zero for the nuclear system.

In a solid, the nuclei are bound to the lattice and do not recoil in the same way as in a gas. The lattice as a whole with mass $M$ recoils but the recoil energy is negligible because $M$  is the mass of the whole lattice. However, the energy in a decay can be taken up or supplied by lattice vibrations. The energy of these vibrations is quantized in units known as phonons. The M\"ossbauer effect occurs because there is a finite probability of a decay occurring involving no phonons. Thus, the entire crystal acts as the recoiling body, and these events are essentially recoilless. In these cases, since the recoil energy is negligible, the emitted gamma rays have the appropriate energy and resonance can occur.

Gamma rays have very narrow line widths. This means they are very sensitive to small changes in the energies of nuclear transitions. In fact, gamma rays can be used as a probe to observe the effects of interactions between a nucleus and its electrons and those of its neighbors. This is the basis for M{\"o}ssbauer spectroscopy, which combines the M{\"o}ssbauer effect with the Doppler effect to monitor such interactions.

\section{The quantum theory of the M{\"o}ssbauer effect in the homogeneous magnetic field}

We can define the M\"ossbauer effect in homogeneous magnetic field  as the analogue of the M\"ossbauer effect for crystal,
where particle in crystal is replaced by the charged particle in homogeneous magnetic field.
We consider the situation where the nucleus emitting the gamma rays is inbuilt (implanted) in homogeneous magnetic field.
The initial state of the crystal  let be $\psi_{crystal}$ and the final state of crystal let be $\psi_{crystal}$. Then, according to Feynman (1972),  there is a probability of no recoil after the  photon emission with momentum $\bf k$ from nucleus. The amplitude of probability is
$({\bf k} = {\bf p}/\hbar)$
$$a = \left<\psi_{crystal}|e^{i({\bf k}\cdot{\bf r})}|\psi_{crystal}\right> ,\eqno(2)$$
here ${\bf r}$ is the displacement of lattice atom.

The probability of unchanging of the basic magnetic state $\psi_{0}$ (the analogue of the persistence of vacuum in quantum field theory) after the $\gamma$-emission is  then
 $P = a^{2}$. So,  we have

$$P =   \left|\left<\psi_{0}\left|e^{i{\bf k}\cdot{\bf r}}\right|\psi_{0}\right>\right|^{2} =
 \left|\int e^{i{\bf k}\cdot{\bf r}}|\psi_{0}|^{2}d{\bf r}\right|^{2}, \eqno(3)$$
where the exponential function in (3) can be expanded using the partial amplitudes taken from the textbooks of quantum mechanics of scattering processes as follows:

$$e^{i{\bf k}\cdot{\bf r}} = 4\pi\sum_{l=0}^{\infty}\sum_{m = -l}^{l}i^{l}j_{kr}Y_{lm}(\Theta,\Phi)
Y_{lm}^{*}(\theta,\phi).  \eqno(4)$$

The mathematical term  $i{\bf k}\cdot{\bf r}$ can be written using the azimuthal angle $\varphi$ for the process in the plane of motion in the magnetic field as $ikr\cos\varphi$.
So, we shall calculate the probability corresponding to the situation where the crystal  is replaced by the homogeneous magnetic field.

We take the basic function $\psi_{0}$ for one
electron in the lowest Landau level, as

$$\psi_{0} = \left(\frac{m\omega_{c}}{2\pi\hbar}\right)^{1/2}
\exp\left(-\frac{m\omega_{c}}{4\hbar}(x^{2} + y^{2})\right), \eqno(5)$$
which is solution of the Schr\"odinger equation in the magnetic field with potentials ${\bf A} = (-Hy/2, Hx/2, 0)$,  $A_{0} = 0$
(Drukarev, 1988):

$$\left[\frac{p_{x}^{2}}{2m} + \frac{p_{y}^{2}}{2m} - \frac{m}{2}
\left(\frac{\omega_{c}}{2}\right)^{2}(x^{2} + y^{2})\right]\psi = E\psi.
\eqno(6)$$

So, The main problem is to calculate the integral in the polar coordinates $r, \varphi$ as follows:

$$I = \int_{0}^{2\pi}\int_{0}^{\infty}d\varphi rdr |\psi_{0}|^{2}e^{ikr\cos\varphi},
 \eqno(7)$$
which can be simplified introducing constants $C$ and $\alpha$ as follows ($Q$ is a charge of the  M\"ossbauer particle,
$c$ is the velocity of light):

$$C = \left(\frac{m\omega_{c}}{2\pi\hbar}\right)^{1/2}; \quad \alpha = \left(\frac{m\omega_{c}}{4\hbar}\right); \quad \omega _{c} = \frac{|Q|H}{mc}.\eqno(8)$$

Then,

$$I = C^{2}\int_{0}^{2\pi}\int_{0}^{\infty}d\varphi rdr e^{-2\alpha r^{2}}e^{ikr\cos\varphi}.
 \eqno(9)$$
Let us firs consider the calculation of the polar integral of the form:

$$I_{1} = \int_{0}^{2\pi}[\cos(kr\cos\varphi) + i\sin(kr\cos\varphi)]d\varphi.\eqno(10)$$

Using identities

$$\cos(a\cos\varphi) = J_{0}(a) + 2\sum_{n = 1}^{\infty}(-1)^{n}J_{2n}(a)\cos(2n\varphi),
\eqno(11)$$

$$\sin(a\cos\varphi) = 2\sum_{n = 1}^{\infty}(-1)^{n + 1}J_{2n - 1}(a)\cos[(2n-1)\varphi)],
\eqno(12)$$
where $J_{n}$ are the Bessel functions, we get after integration that

$$I_{1} = J_{0}(kr),\eqno(13)$$
where the Bessel function $J_{0}$ can be expressed as the series

$$J_{0}(x)  =  \sum_{k = 0}^{\infty} \frac{(-1)^{k}x^{2k}}{2^{2}2^{4}....(2k)^{2}} =
1 - \frac{x^{2}}{2^{2}} + \frac{x^{4}}{2^{2}4^{2}} - \frac{x^{6}}{2^{2}4^{2}6^{2}} + ...
\eqno(14)$$

So, The following step is, to calculate the following integral:

$$I_{2} = \int_{0}^{\infty}J_{0}(kr)e^{-2\alpha r^{2}} rdr\eqno(15)$$

If we restrict the calculation with the approximate Bessel function, then we get for the probability of the persistence of the state in the form:

$$P \approx C^{2}\left|2\pi\int_{0}^{\infty}rdr\left[e^{-2\alpha r^{2}} - e^{-2\alpha r^{2}}\frac{(kr)^{2}}{2^{2}}\right]\right|^{2} \eqno(16)$$

Using the integrals

$$\int_{0}^{\infty} e^{-2\alpha r^{2}} rdr = \frac{1}{4\alpha}; \quad \eqno(17)$$

$$\int_{0}^{\infty} \frac{k^{2}r^{3}}{2^{2}}e^{-2\alpha r^{2}} dr =
\frac{k^{2}}{32}\frac{1}{\alpha^{2}},
\eqno(18)$$
where the integrals are the special cases of the table integral (Gradshteyn and Ryzhik, 2007a)

$$\int_{0}^{\infty}x^{2n+1} e^{-p x^{2}} dx = \frac{n!}{2p^{n + 1}}; \quad p>0,\eqno(19)$$
we get the final approximation formula for the existence of the M\"ossbauer effect in magnetic field realized by the decay of the charged ion. Or,

$$ P \approx  4\pi^{2}C^{2}\left|\frac{1}{4\alpha} + \frac{k^{2}}{32\alpha^{2}}\right|^{2}
\eqno(20)$$

Using explicit constants from eq. (8), we get the final approximation form for the existence of the M\"ossbauer effect in magnetic field:

$$P \approx \frac{\pi}{2}\frac{\hbar^{3}c^{3}}{|Q|^{3}H^{3
}}\left(\frac{2|Q|H}{\hbar c} +  k^{2}\right)^{2}.\eqno(21)$$

Let us remark, that we can use approximation $e^{-2\alpha r^{2}} \approx 1 - 2\alpha r^{2}$.
Then instead of eq. (16), we write:

$$P \approx C^{2}\left|2\pi\int_{0}^{\infty}rdr\left[J_{0}(kr) - 2\alpha r^{2} J_{0}(kr)\right]\right|^{2}. \eqno(22)$$

Then using table integral (Gradshteyn and Ryzhik, 2007b)

$$\int_{0}^{\infty}x^{n}J_{l}(ax) dx = 2^{n}a^{-n-1}\frac{\Gamma\left(\frac{1}{2} + \frac{l}{2} +
\frac{n}{2}\right)}{\Gamma\left(\frac{1}{2} + \frac{l}{2} -
\frac{n}{2}\right)},\eqno(23)$$
we get:
$$P \approx C^{2}\left|\frac{2\pi}{k^{2}}\frac{\Gamma\left(1\right)}{\Gamma\left(0\right)} +
 \frac{32\pi\alpha}{k^{4}}\frac{\Gamma\left(2\right)}{\Gamma\left(-1\right)}\right|^{2}.\eqno(24)$$

To our surprise, this form of the  magnetic M\"ossbauer effect was not published
in the M\"ossbauer literature.

\section{Discussion}

The M\"ossbauer effect on magnetic field  is in no case the exact analogue of the M\"ossbauer effect in crystal, because magnetic field is the special physical reality (medium)  with unique quantum electrodynamic properties.

In case that the decaying charged particle moves in accelerating potential $V = Fx$ where $F = - \partial V/\partial x$ is the accelerating force, then the corresponding Schr\"odinger equation in the momentum representation $(\hat x = i\hbar\partial/\partial p)$ is as follows (Drukarev, 1988):

$$\left(-i\hbar F \frac{\partial}{\partial p} + \frac{p^{2}}{2m} - E\right)\left<p|E\right> = 0\eqno(25)$$
with the solution

$$\left<p|E\right> = \frac{1}{\sqrt{2\pi\hbar F}}\exp\left[\frac{i}{\hbar F}\left(Ep - \frac{p^{3}}{6m}\right)\right].\eqno(26)$$

Then,

$$\left<x|E\right> = \int_{-\infty}^{\infty}\left<x|p\right>\left<p|E\right>dp =
\frac{1}{2\pi\hbar F^{1/2}}\int_{-\infty}^{\infty}\exp\left\{
\frac{i}{\hbar}\left[\left(x + \frac{E}{F}\right)p -  \frac{p^{3}}{6mF}\right]\right\}dp,\eqno(27)$$
where we have used relation

$$\left<x|p\right> = \frac{1}{\sqrt{2\pi\hbar}}e^{ipx/\hbar}.\eqno(28)$$

The classical turning point is given by relation $V = E$, from which follows the coordinate of the turning point $x_{0} = E/F$. Then we write with regard to the last statement:

$$\left<x|E\right> =
\frac{1}{2\pi\hbar F^{1/2}}\int_{-\infty}^{\infty}\exp\left\{
\frac{i}{\hbar}\left[(x - x_{0})p -  \frac{p^{3}}{6mF}\right]\right\}dp.\eqno(29)$$

After introducing the new variable

$$u = \frac{p}{(2m\hbar F)^{1/3}}; \quad z = \left(\frac{2mF}{\hbar^{2}}\right)^{1/2}(x_{0} - x), \eqno(30)$$
we get the solution of the Schr\"odinger equation for charged particle moving in the accelerated potential in the final form:

$$\left<x|E\right> =
\left(\frac{2m}{\hbar^{2} F^{1/2}}\right)^{1/3}\frac{1}{2\pi}\int_{-\infty}^{\infty}\exp
\left[-i\left(\frac{u^{3}}{3} + zu\right)\right]dp,\eqno(31)$$
where

$$v(z) = \frac{1}{2\pi}\int_{-\infty}^{\infty}\exp
\left[-i\left(\frac{u^{3}}{3} + zu\right)\right]dp\eqno(32)$$
is so called Airy function.

The final formula for the existence of the M\"ossbauer effect in the accelerated field is

$$ P = \left|\int e^{i{\bf x}{\bf k}}|\left<x|E\right>|^{2}d{\bf x}\right|^{2}.\eqno(33)$$

 Ninio (1973) used instead of the Feynman amplitude the impulsive force $F(t) = const\,\delta(t-\lambda)$ to calculate the persistence of harmonic oscillator. After applying such impulsive force, the basic oscillator function is

$$\psi_{0} = \exp\left(-\frac{1}{2}|\xi(t)|^{2}\right)
\sum_{m=0}^{\infty}\frac{[\xi(t)]^{2}}{(m!)^{1/2}}\phi_{m}, \eqno(34)$$
where

$$\xi(t) = i(2m\hbar\omega)^{-1/2}Ae^{i\omega\lambda} \quad
(t>\lambda). \eqno(35)$$

The corresponding probability  of the basic state  persistence  is

$$P \approx |\left<\psi_{0}|\psi_{0}\right>|^{2} = e^{(-|\xi(t)|^{2})}
= e^{(-A^{2}/2m\hbar\omega)}. \eqno(36)$$

Thus, there is non zero probability that the impulse creates no phonons. However, it must be remembered that the oscillator particle is bound  to a fixed center. No doubt, that it is possible to use the Ninio method to calculate the M\"ossbauer effect in magnetic field and in the accelerated field. In addition, there is not excluded, that the so called maximal acceleration may play some role in case  of accelerated  charged particles. The recent discussion of the specific application  of the maximal acceleration in the M\"ossbauer physics was  presented by Potzel (2014). The  introduction of the maximal acceleration into physics by means of transformations between the reference systems was given by author (Pardy, 2003).

The article is in a some sense the new mainstream  of ideas related to the M{\"o}ssbauer effect in physics and it can be applied in chemistry, biology, geology, cosmology,  medicine and other human activities. Let us remark that the discovery of the M{\"o}ssbauer was rewarded with the Nobel Prize in Physics in 1961 together with Robert Hofstadter's research of electron scattering in atomic nuclei. M\"ossbauer effect in the magnetic, or, electric field represents, the crucial problem for experimentalists and it is not excluded that the experimental realization of this effect leads to the adequate appreciation.

\vspace{7mm}
\noindent
{\bf REFERENCES}

\vspace{7mm}

\noindent
Berestetzkii, V. B.; Lifshitz, E. M. and Pitaevskii, L. P. (1989). {\it Quantum electrodynamics}, (Moscow, Nauka) (in Russian).\\[3mm]
Drukarev, G. F. (1988). {\it Quantum mechanics}, (Leningrad University Press), (in Russian). \\[3mm]
Feynman, R. (1972). {\it Statistical mechanics}, (W. B. Benjamin, Inc., Reading, Massachusetts).\\[3mm]
Gradshteyn, I. S. and Ryzhik, I. M. (2007a). {\it Tables of integrals, series and products}, Seven ed., (New York, Academic Press), section 3.461(3), page 364.\\[3mm]
Gradshteyn, I. S. and Ryzhik, I. M. (2007b). {\it Tables of integrals, series and products}, Seven ed., (New York, Academic Press), section 6.561(14), page 676.\\[3mm]
Kuznetsov, D. S. (1962). {\it The special functions}, Moscow. (in Russian). \\[3mm]
 M\"ossbauer. R. L. (1958). Kernresonanzfluoreszenz von Gammastrahlung
in $^{191}{\rm Ir}$, Z. Phys. {\bf 151}, 124. \\[3mm]
M\"ossbauer, R. L. (1958). Kernresonanzfluoreszenz von Gammastrahlung
in $^{191}{\rm Ir}$, Naturwissenschaften {\bf 45}, 538.\\[3mm]
M\"ossbauer, R. L. (1959). Kernresonanzabsorption von $\gamma$-Strahlung in $^{191}{\rm Ir}$, Z. Naturforsch. {\bf A 14}, 211.\\[3mm]
M\"ossbauer, R. L. (2000). The discovery of the M\"ossbauer effect,
Hyperfine Interactions {\bf 126}, 1.\\[3mm]
Ninio, F. (1973). The forced harmonic oscillator and the zero-phonon transition of the M\"ossbauer effect, AJP, {\bf 41}, 648-649.\\[3mm]
Pardy, M. (2003). The Space-time transformations between accelerated systems, arXiv:gr-qc/0302007,
(gr-qc). \\[3mm]
Potzel, W. (2014). Clock hypothesis of relativity theory, maximal acceleration, and M\"ossbauer
spectroscopy,  arXiv:1403.2412,  (physics.ins-det). \\[3mm]
Rohlf, J. W. (1994). {\it Modern physics from $\alpha$ to $Z^{0}$},  (John Willey \& Sons, Inc., New York).
\end{document}


\section{Introduction}
A \emph{planar graph} is a graph that can be \emph{embedded} in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. A planar graph already drawn in the plane without edge intersections is called a \emph{plane graph} or \emph{planar embedding} of the graph. A straight-line drawing $\Gamma$ of a plane graph $G$ is a graph embedding in which each vertex is drawn as a point and each edge is drawn as straight line segments (as opposed to curves, etc.).

Given a plane graph $G$ with $n$ vertices and a set $S$ of $n$ points in the plane, a point-set embedding of $G$ on $S$ is a straight-line drawing of $G$ such that
each vertex is represented as a distinct point of $S$. The problem of computing a point-set embedding of a graph, also referred to as the point-set embeddability problem in the literature, has been extensively studied both when
the mapping of the vertices to the points is chosen by the drawing algorithm and
when it is partially or completely given as part of the input. There exists a number of results of the point-set embeddability problem on different graph classes in the literature~\cite{DBLP:journals/comgeo/Bose02,DBLP:journals/dcg/IkebePTT94,DBLP:journals/dam/KanekoK00,DBLP:journals/gc/PachW01}. A number of variants of the original problem have also been studied in the literature. For example in~\cite{DBLP:conf/wads/BadentGL07,DBLP:journals/jgaa/GiacomoDLMTW08}, a variant of the point-set embeddability problem has been studied, where the vertex set of the given graph and the given set of points are divided into a number of partitions and a particular vertex subset is to be mapped to a particular point subset. Other variants have also been studied with great interest~\cite{DBLP:journals/ijcga/KanekoK05,DBLP:journals/ijfcs/GiacomoLT06}.

Very recently, Nishat et al.~\cite{DBLP:conf/gd/NishatMR10} studied the point set embeddability problem on a class of graphs known as the \emph{plane 3-tree}.
Plane 3-trees belong to an interesting class of graphs and recently a number of different drawing algorithms have been presented in the literature on plane 3-trees~\cite{BiedlV10,MondalNRA10,DBLP:conf/gd/NishatMR10}. In this paper, we follow up the work of \cite{DBLP:conf/gd/NishatMR10} and improve upon their result from an algorithmic point of view. In~\cite{DBLP:conf/gd/NishatMR10}, Nishat et al. presented an $O(n^2 \log n)$ time algorithm that can decide whether a plane 3-tree $G$ of $n$ vertices admits a point-set embedding on a given set of $n$ points or not and compute a point-set embedding of $G$ if such an embedding exists. In this paper, we show how to improve the running time of the above algorithm. In particular, we take their algorithmic ideas as the building block of our algorithm and with some non trivial modifications we achieve a running time of $O(n^{4/3+\epsilon}\log n)$.
The efficiency of our algorithm comes mainly from clever uses of triangular range search and counting queries \cite{Paterson1986441,ALGOR::ChazelleSW1992,journals/dcg/Chazelle97} and bounding the number of such queries. Furthermore, we study a generalized version of the Point-Set Embeddability problem where the point set $S$ has more points than the number of vertices of the input plane 3-tree, i.e., $|S| = k >n$. For this version of the problem, an $O(nk^8)$ time algorithm was presented in~\cite{DBLP:conf/gd/NishatMR10}. We present an improved algorithm running in $O(nk^4)$ time.

The rest of this paper is organized as follows. Section~\ref{sec:prel} presents some definitions
and preliminary results. Section~\ref{sec:quad} presents a brief review of the algorithm presented in~\cite{DBLP:conf/gd/NishatMR10}. In Section~\ref{sec:subq} we present our main result. Section~\ref{sec:genProb} briefly discusses about the generalized version of the problem and we briefly conclude in Section~\ref{sec:con}.

\section{Preliminaries}\label{sec:prel}
In this section we present some preliminary notations, definitions and results that we use in our paper. We follow mainly the definitions and notations of~\cite{nishizeki2004planar}. We start with a formal definition of the \emph{straight-line drawing}.
\begin{dfn} [Straight-Line Drawing] \label{prb:strln}
Given a plane graph $G$, a straight-line drawing $\Gamma(G)$ of $G$ is a drawing of $G$ where vertices are drawn as points and edges are drawn as connecting lines.
\end{dfn}
The problem we handle in this paper is formally defined as follows.
\begin{prb} [Point-Set Embeddability] \label{prb:ptemb}
 Let $G$ be a plane graph of $n$ vertices and $S$ be a set of $n$ points on plane. The point-set embeddability problem wants to find a straight-line drawing of $G$ such that the vertices of $G$ are mapped to the points of $S$.
\end{prb}
Finding a point-set embedding for an arbitrary plane graph is proved to be NP-Complete~\cite{journals/jgaa/Cabello06}, even for some restricted subclasses. On the other hand, polynomial time algorithm exists for finding point-set embedding for outerplanar graphs or trees~\cite{journals/dcg/IkebePTT94,DBLP:journals/comgeo/Bose02}. An interesting research direction in the literature is to investigate this problem on various other restricted graph classes. One such interesting graph class, known as the plane 3-tree, is formally defined below.

\begin{definition}[Plane $3$-Tree] \label{def:plane3t}
A plane 3-tree is a triangulated plane graph $G=(V,E)$ with $n$ vertices such that either $n=3$, or there exists a vertex $x$ such that the graph induced by $V-\{x\}$ is also a plane $3$-tree.
\end{definition}

\begin{figure}[t!]
\begin{center}
\leavevmode
\scalebox{0.7}{
\includegraphics{newplane3tree1}
}
\end{center}
\caption{A plane 3-tree of 17 vertices}
\label{fig:plane3tree}
\end{figure}

Figure~\ref{fig:plane3tree} presents a plane 3-tree with 17 vertices. As has been mentioned above, the very recent work of Nishat et al.~\cite{DBLP:conf/gd/NishatMR10} proved that finding point-set embedding is polynomially solvable if the input is restricted to a Plane $3$-Tree. Since a plane $3$-tree is triangulated, its outer face has only $3$ vertices, known as the \emph{outer vertices}. The following two interesting properties of a plane $3$-tree with $n>3$ will be required later.
\begin{prop} [\cite{conf/gd/BiedlV09}]
Let $G$ be a plane 3-tree with $n>3$ vertices. Then, there is a node $x$ with degree $3$ whose deletion will give a plane $3$-tree of $n-1$ vertices.
\end{prop}
\begin{prop} [\cite{conf/gd/BiedlV09}] \label{prop-P}
Let $G$ be a plane 3-tree with $n>3$ vertices. Then, there exists exactly $1$ vertex (say, $p$) that is a common neighbor of all $3$ outer vertices.
\end{prop}
For a plane 3-tree $G$, the vertex $p$ (as defined in Proposition~\ref{prop-P}) is referred to as the \textit{representative vertex} of $G$. For a plane graph $G$, and a cycle $C$ in it, we use $G(C)$ to denote the subgraph of $G$ inside $C$ (including $C$). In what follows, if a cycle $C$ is a triangle involving the vertices $x,y$ and $z$, we will often use $\triangle xyz$ and $G(\triangle xyz)$ to denote $C$ and $G(C)$. The following interesting lemma was recently proved in \cite{DBLP:conf/gd/NishatMR10} and will be useful later in this paper.
\begin{lemma} [\cite{DBLP:conf/gd/NishatMR10}]
Let $G$ be a plane $3$-tree of $n>3$ vertices and $C$ be any triangle of $G$. Then, the subgraph $G(C)$ is a plane $3$-tree.
\end{lemma}
We now define an interesting structure related to a plane 3-tree, known as the \emph{representative tree}.
\begin{definition} [Representative Tree]\label{defn-rtree}
Let $G$ be a plane $3$-tree with $n$ vertices with outer vertices $a$, $b$ and $c$ and representative vertex $p$ (if $n>3$).
The representative tree $T$ of $G$ is an ordered tree defined as follows:
\begin{itemize}
\item If $n=3$, then $T$ is an single vertex.
\item  Otherwise, the root of $T$ is $p$ and its subtrees are the representative trees of $G(\triangle apb)$, $G(\triangle bpc)$ and $G(\triangle cpa)$ in that order.

\end{itemize}
\end{definition}

\begin{figure}[t!]
\begin{center}
\leavevmode
\scalebox{0.75}{
\includegraphics{newcorrespondingTree}
}
\end{center}
\caption{The representative tree of the plane 3-tree of Figure~\ref{fig:plane3tree}}
\label{fig:rtree}
\end{figure}
The representative tree of the plane 3-tree of Figure~\ref{fig:plane3tree} is presented in Figure~\ref{fig:rtree}. Note that, the representative tree $T$ has $n'=n-3$ internal nodes, each internal node having degree $3$. Also, note that the outer vertices of $G$ are named as $a,b$ and $c$ respectively in counter-clockwise order around $p$. Therefore, the representative tree $T$ of a plane 3-tree $G$ is unique as per Definition~\ref{defn-rtree}. Now consider a plane 3-tree $G$ and its representative tree $T$. Assume that $G'$ is a subgraph of $G$ and $T'$ is a subtree of $T$. Then, $G'$ is referred to as the \emph{corresponding subgraph} of $T'$ if and only if $T'$ is the representative tree of $G'$. There is an $O(n)$ time algorithm to construct the representative tree from a given plane graph~\cite{DBLP:conf/gd/NishatMR10}.

Given a set of points $S$, we use the symbol $P_S(\triangle xyz)$ to denote the set of points that are inside the triangle $\triangle xyz$. We use the symbol  $N_S(\triangle xyz)$ to denote size of the set $P_S(\triangle xyz)$. We will extensively use the triangular range search and counting queries in our algorithm. Below we formally define these two types of queries.
\begin{prb}[Triangular Range Search] \label{prb:trs}
Given a set  $S$ of points that can be preprocessed, we have to answer queries of the form $SetQuery(S,\triangle abc)$, where the query returns $P_S(\triangle abc)$.
\end{prb}

\begin{prb}[Triangular Range Counting] \label{prb:trc}
Given a set  $S$ of points that can be preprocessed, we have to answer queries of the form  $CountQuery(S,\triangle abc)$, where the query returns $N_S(\triangle abc)$.
\end{prb}

In what follows, we will follow the following convention: If an algorithm has preprocessing time $f(n)$ and query time $g(n)$, we will say its overall running time is $\langle f(n), g(n) \rangle$. We conclude this section with an example illustrating the point set embedding of a plane 3-tree.

\begin{figure}[p!]
    \centering
    \subfigure[An example of the point set $S$.]
    {
    \scalebox{0.55}{
        \includegraphics{newPointSet}
    }
    \label{fig:pointset}
    }
    \\
    \subfigure[An embedding of the plane 3-tree of Figure~\ref{fig:plane3tree} on the point set of Figure~\ref{fig:pointset}]
    {
    \scalebox{0.6}{
        \includegraphics{newplane3tree2}
    }
    \label{fig:embedding}
    }
    \caption{An example of point set embedding of a plane 3-tree.}
    \label{fig:example}
\end{figure}

\begin{my_example}
In Figure~\ref{fig:pointset} we present an example of the point set $S$ having $n = 17$ points. Then, in Figure~\ref{fig:embedding}, an embedding of the plane 3-tree of Figure~\ref{fig:plane3tree} is illustrated.
\end{my_example}

\section{Algorithm of~\cite{DBLP:conf/gd/NishatMR10}} \label{sec:quad}
In this section, we briefly describe the quadratic time algorithm of~\cite{DBLP:conf/gd/NishatMR10}. To simplify the description, we first assume that the points of $S$ are in general positions, i.e., no three points of $S$ are collinear.
\begin{lemma}[\cite{DBLP:conf/gd/NishatMR10}] \label{lmm:conv}
Let $G$ be a plane $3$-tree of $n$ vertices and $S$ be a set of $n$ points. If $G$ admits a point-set embedding on $S$, then the convex hull of $S$ contains exactly three points in $S$.
\end{lemma}

\begin{lemma}[\cite{DBLP:conf/gd/NishatMR10}] \label{lmm:uniqp}
Let $G$ be a plane $3$-tree of $n$ vertices with $a$, $b$ and $c$ being the three outer vertices of $G$, and let $p$ be the representative vertex of $G$. Let $S$ be a set of $n$ points such that the convex hull of S contains exactly three points. Assume that $G$ has a point-set embedding $\Gamma(G)$ on $S$ for a given mapping of $a$, $b$ and $c$ to the three points of the convex-hull of $S$. Then $p$ has a unique valid mapping.
\end{lemma}
The algorithm of~\cite{DBLP:conf/gd/NishatMR10} performs the following steps to find a valid embedding of $G$ in a given point-set $S$ if one exists.
\begin{enumerate}[Step: 1] \label{algo:quad}
\item Find the convex hull of the given points. If the convex hull does not have exactly $3$ points, return the message that no embedding exists.
\item For each of the possible $6$ mappings of the outer vertices of $G$ to the three points of the convex hull, perform Steps~\ref{step:start} and~\ref{step:start1} (recursively).

\item \label{step:start} Assume that at the beginning of this step, we are considering the representative (sub)tree $T'$ and the corresponding graph is $G'$ (obviously a subgraph of $G$). Let the three outer vertices of $G'$ are $a'$, $b'$ and $c'$ and the representative vertex of it is $p'$. Note that, initially, $G' = G$, $T' = T$ and the outer vertices and the representative vertex are $a$, $b$, $c$  and $p$ respectively. Assume that the number of internal nodes in $T'$ is $n'$. Note that, number of vertices in the corresponding graph $G'$ is $n'+3$. If $n'=0$ then embedding is trivially possible and this step returns immediately terminating the recursion. Otherwise, the following step is executed to check whether an embedding is indeed possible.
\item \label{step:start1} Let the root of $T'$ be $r$. Also let the three children of $r$ be $r_1$, $r_2$ and $r_3$ and the number of internal nodes in the subtrees rooted at $r_1$, $r_2$ and $r_3$ be $n_1'$, $n_2'$ and $n_3'$ respectively. Note that $n'=n_1'+n_2'+n_3'+1$. Let the three outer vertices $a'$, $b'$ and $c'$ of $G'$ are mapped to points $x$, $y$ and $z$ of $S$. Now, we find a point $u$ in $S$ such that $N_S(\triangle xuy)=n_1'$, $N_S(\triangle yuz)=n_2'$, and $N_S(\triangle zux)=n_3'$. By Lemma \ref{lmm:uniqp}, $u$ is unique if it exists. To find $u$, all the points of $S$ lying within the triangle $\triangle xyz$ are checked. If $u$ can be found, then $p$ is mapped to $u$ and Steps \ref{step:start} and \ref{step:start1} are executed recursively for all three subtrees of $T'$; otherwise no embedding is possible.
\end{enumerate}
In what follows, we will refer to this algorithm as the NMR Algorithm. Naive implementation of NMR algorithm runs in $O(n^3)$ time~\cite{DBLP:conf/gd/NishatMR10}. By sorting all points of $S$ according the polar angle with respect to each point of $S$ and employing some non-trivial observations, this algorithm can be made to run in $O(n^2)$ time~\cite{DBLP:conf/gd/NishatMR10}. Note that, the $O(n^2)$ algorithm assumes that the points of $S$ are at general positions. If this assumption is removed, NMR algorithm runs in $O(n^2\log n)$ time.

\section{Our Result} \label{sec:subq}
In this section, we modify the algorithm of~\cite{DBLP:conf/gd/NishatMR10} described in Section \ref{sec:quad} and achieve a better running time.
For the ease of exposition, we assume for the time being that triangular range search has running time $\langle f(|S|),g(|S|)+\ell\rangle$ and triangular range counting has running time $\langle f(|S|),g(|S|)\rangle$, where $S$ is the input set and $\ell$ is the output size for triangular range search. We will finally use the actual running times during the analsysis of the algorithm. We first present our modified algorithm below followed by a detailed running time analysis.

\begin{enumerate}[Step 1:] \label{algo:subq}
\item \label{step:subq:chull}  Find the convex hull of the points of $S$. By Lemma \ref{lmm:conv} the convex hull should have $3$ points, otherwise no embedding exists.

\item \label{step:subq:trp} Preprocess the points of $S$ for triangular range search and triangular range counting.

\item \label{step:subq:map} For each of the possible $6$ mappings of the outer vertices of $G$ to the three points of the convex hull, perform Steps~\ref{step:subq:start} to~\ref{step:subq:check} (recursively).

\item \label{step:subq:start} We take the same assumptions as we took at Step~\ref{step:start} of the NMR algorithm.
Now, if $n'=0$ then embedding is trivially possible and this step returns immediately terminating the recursion. Otherwise, the following step is executed to check whether an embedding is indeed possible.

\item \label{step:subq:prune2}
Now we want to find a point $u$ such that $N_S(\triangle xuy)=n_1'$, $N_S(\triangle yuz)=n_2'$, and $N_S(\triangle zux)=n_3'$. Recall that, by lemma \ref{lmm:uniqp} such a point is unique if it exists.  Now, without loss of generality we can assume that $n_2' \leq \min(n_1', n_3')$. In order to find $u$, we first find points $v_1$ and $v_2$ on the line $yz$ such that $N_S(\triangle xv_1y)=n_1'$ and $N_S(\triangle xv_2z)=n_3'$. Note carefully that, in line $yz$, $v_1$ appears closer to $y$ than $v_2$; otherwise there will not be $n'$ points inside the triangle $\triangle xyz$. We will use a binary search and triangular range counting queries to find $v_1, v_2$ as follows. We first choose the mid point $w$ of the line $BC$. Then we compute $N_S(\triangle xwy)$ using a triangular range counting query. If $N_S(\triangle xwy) = n_1'$ we are done and we assign $v_1 = w$. Otherwise, if $N_S(\triangle xwy) > n_1'$ ($N_S(\triangle xwy) < n_1'$), then we choose the mid point $w'$ of the line $Bw$ ($wC$). Then we perform similar checks on $\triangle xw'y$. The point $v_2$ can also found similarly. Clearly, there always exist such points and steps of binary search is bounded by $O(\log N)$, where $N$ is the maximum absolute value of a point of $S$ in any coordinate.

\item \label{step:subq:check}
With points $v_1$ and $v_2$ at our disposal, we now try to find point $u$. Note that the point $u$ cannot be inside either $\triangle xv_1y$ or $\triangle xv_2z$. This is because if $u$ is in $\triangle xv_1y$ then $N_S(\triangle xuy) < N_S(\triangle xv_1y)= n_1'$ implying $N_S(\triangle xuy) < n_1'$, a contradiction. A similar argument is possible for $\triangle xv_2z$. So, we must have $u \in P_S(\triangle xv_1v_2)$. Also note that $N_S(\triangle xv_1v_2)=N_S(\triangle xyz)-N_S(\triangle xv_1y)-N_S(\triangle xv_2z)=n'-n_1'-n_3'=n_2'+1$. Using triangular range search we now find the points $P_S(\triangle xv_1v_2)$. To find $u$, we now simply check whether any of these points satisfies the requirement $N_S(\triangle xuy)=n_1'$, $N_S(\triangle yuz)=n_2'$, and $N_S(\triangle zux)=n_3'$. If no such point exists, then we return stating that it will be impossible to embed the graph on the points. Otherwise we find a point $u$, which is mapped to vertex $p$. Now Steps \ref{step:subq:start} to \ref{step:subq:check} are recursively executed for all three subtrees.

\end{enumerate}
\subsection{Analysis}\label{sec:analysis}
Now we analyze our modified algorithm presented above.
Step \ref{step:subq:chull} is executed once and can be done in  $O(n \log n)$ time. Step \ref{step:subq:trp} is executed once and can be done in  $f(|S|)$ time. Steps \ref{step:subq:start} to \ref{step:subq:check} are executed recursively. Step \ref{step:subq:start} basically gives us the terminating condition of the recursion. We focus on Step \ref{step:subq:prune2} and Step \ref{step:subq:check} separately below.

In Step \ref{step:subq:prune2}, we find out the two points $v_1$ and $v_2$ using binary search and triangular range counting queries. Time required for this step is $O(g(|S|)\log N)$. Note carefully that both the parameters $|S|$ and $N$ are constant in terms of recursion. Also, it is easy to see that, overall, Step \ref{step:subq:prune2} is executed once for each node in $T$. Hence, the overall running time of this step is $O(g(|S|)n\log N)$.

Now we focus on Step~\ref{step:subq:check}. Time required for triangular range search in Step \ref{step:subq:check} is  $O(g(|S|)+n_2')$. In this step we also need $O(n_2')$ triangular range counting queries which add up to $O(g(|S|)n_2')$ time. Recall that, $n_2' = \min(n_1', n_3')$, i.e., $n_2'$ is the number internal nodes of the subtree having the least number of internal nodes. Hence, we have $n_2' \leq n'/3$. Now, the overall running time of Step~\ref{step:subq:check} can be expressed using the following recursive formula: $T(n') = T(n_1')+T(n_2')+T(n_3')+ n_2' g(|S|))$, where $n_2' \leq \min(n_1',n_3')$. Now we have the following theorem:
        \begin{theorem}
        The overall running time of Step~\ref{step:subq:check} is $O(g(|S|)~ n\log n)$.
        \end{theorem}
        \begin{proof}
        First, assume that $T(n)\le c(n\log n) g(|S|), c\geq 1$. Then we have,
        \begin{align*}
            T(n') &= T(n_1')+T(n_2')+T(n_3')+ n_2' g(|S|)\\
	        &\leq c(n_1'\log n_1') g(|S|) + c(n_2'\log n_2') g(|S|) + c(n_3'\log n_3') g(|S|) +  n_2' g(|S|)\\
        	&< c(n_1'\log n') g(|S|) + c(n_2'\log \frac{n'}{2}) g(|S|) + c(n_3'\log n') g(|S|) +  c\times n_2' g(|S|)\\
        	&=  c(n_1'\log n') g(|S|) + c(n_2'(-1+\log n')) g(|S|) + c(n_3'\log n') g(|S|) +  cn_2' g(|S|) \\
        	&=c g(|S|) (-n_2'+(n_1' +n_2'+n_3') \log n' + n_2' )\\
        	&= c g(|S|) n' \log n'
        \end{align*}
        This completes the proof.
        \qed \end{proof}

Based on the above discussion, total time required for this algorithm is $O(n\log n + f(|S|)+ n g(|S|) \log N + n g(|S|) \log n) = O(f(|S|) + n~g(|S|) (\log n + \log N))$. Now we are ready to replace $f(|S|)$ and $g(|S|)$ with some concrete values. To the best of our knowledge, the best result of triangular range search and counting queries is due to Chazelle et al.~\cite{ALGOR::ChazelleSW1992}. In particular, Chazelle et al. proposed a solution for the triangular range search queries in~\cite{ALGOR::ChazelleSW1992} with time complexity $\langle O(m^{1+\epsilon}),O(n^{1+\epsilon}/m^{1/2})\rangle$, where $n<m<n^2$. Using this result the running time of our algorithm becomes $O(m^{1+\epsilon}+ (\log n + \log N) n^{2+\epsilon}/m^{1/2})$, which reduces to $O(n^{4/3+\epsilon}+ (\log n + \log N) n^{4/3+\epsilon})$ if we choose $m=n^{4/3}$.

Finally, we can safely ignore the $\log N$ component from our running time as follows. Firstly, the $\log N$ component becomes significant only when $N$ is doubly exponential in $n$ or larger, which is not really practical. Secondly, while we talk about the theoretical running time of algorithms, we often ignore the inherent $O(\log N)$ terms assuming that two (large) numbers can be compared in $O(1)$ time. For example, in comparison model, since sorting $n$ (large) numbers having maximum value $N$ requires $\Theta(n \log n)$ comparisons we usually say that sorting requires $\Theta(n \log n)$ time. Essentially, here, we ignore the fact that comparing two numbers actually requires $\Omega(\log N)$ time. Notably, the algorithm of ~\cite{DBLP:conf/gd/NishatMR10} also has an hidden $O\log N$ term since it requires $O(n^2)$ comparisons each of which actually requires $O(\log N)$ time. One final note is that for instances where the $\log N$ term does have significant effect, we can in fact get rid of the term using standard techniques to transform a counting algorithm into a ranking algorithm at the cost of a $\log n$ time increase in the running time. Similar techniques are also applicable for the algorithm of ~\cite{DBLP:conf/gd/NishatMR10}. So, we have the following theorem.

\begin{theorem}\label{thm-generalPos}
The point set Embeddability problem can be solved in $O(n^{4/3+\epsilon}\log n)$ time if the input graph is a plane 3-tree and $S$ does not contain any three points that are collinear.
\end{theorem}

\subsection{For points not in General positions}
So far we have assumed that the points of $S$ are in general positions, i.e., no three points in $S$ are collinear. We now discuss how to get around this assumption. Note that, the algorithm of Nishat et al~\cite{DBLP:conf/gd/NishatMR10} shows improved performance of $O(n^2)$ when the points of $S$ are in general positions. Now, if we remove our assumption, then we may have more than two points that are collinear. In this case, the only only modification needed in our algorithm is in Step \ref{step:subq:prune2}. Now, the problem is that the two points $v_1$ and $v_2$ could not be found readily as before. More specifically, even if Step \ref{step:subq:prune2} returns that $v_1$ and $v_2$ do not exist, still $u$ may exist. Now note that, in Step \ref{step:subq:prune2}, we want to find out $v_1$ and $v_2$ to ensure that $N_S(\triangle xv_1v_2)= n_2'+1$, where $n_2' = \min(n_1', n_3')$, i.e., $n_2' \leq n'/3$. Since, we have to check each points of $P_S(\triangle xv_1v_2)$ (to find $u$), the above bound of $n_2' \leq n'/3$ provides us with the required efficiency in our algorithm.

To achieve the same efficiency, we now slightly modify Step \ref{step:subq:prune2}. Suppose we are finding $v_1$ ($v_2$). We now try to find $v_1$ ($v_2$) such that the $N_S(\triangle xv_1y) > n_1'$ ($N_S(\triangle xv_2z) > n_3'$) and $v_1$ ($v_2$)  is as near as possible to $B$ ($C$) on the line $BC$. Let us assume that we need $\mathcal I$ iterations now to find $v_1$ ($v_2$). We have the following bound for $\mathcal I$.
\begin{lemma}
$\mathcal I$ is bounded by $O(\log N)$
\end{lemma}
\begin{proof}
There may not be any point candidate of $v_1$ ($v_2$) which has integer coordinates. But as $x$ can be intersection of two lines, each of which goes through two points of $S$, there may exists a point candidate of $v_1$ having denominator less than $N^2$ or there is none. Either way, to find such a point or to be sure no such point exists we only need precision less than $1/N^2$. Therefore, $O(\log N)$ iterations are sufficient.
\qed \end{proof}

Again, the argument presented at the end of Section~\ref{sec:analysis} about the component $\log N$ applies here as well. Therefor, the result of Theorem~\ref{thm-generalPos} holds even the points of $S$ are not in general positions. So, we restate our stronger and more general result as follows.

\begin{theorem}\label{thm-nogeneralPos}
The point set Embeddability problem can be solved in $O(n^{4/3+\epsilon}\log n)$ time if the input graph is a plane 3-tree.
\end{theorem}

\section{Generalized Version}\label{sec:genProb}
A generalized version of the Point Set Embeddability problem is also of interest in the graph drawing research community, where $S$ has more points than the number of vertices of the input graph $G$. More formally, the generalized point set embeddability problem is defined as follows.
\begin{prb} [Generalized Point-Set Embeddability] \label{prb:ptemb}
 Let $G$ be a plane graph of $n$ vertices and $S$ is a set of $k$ points on plane such that $k > n$. The generalized point-set embeddability problem wants to find a straight-line drawing of $G$ such that vertices of $G$ are mapped to some $n$ points of $S$.
\end{prb}
In this section, we extend our study to solve the Generalized Point-set Embeddability problem for plane 3-trees. This version of the problem was also handled in~\cite{DBLP:conf/gd/NishatMR10} for plane 3-trees and they presented an algorithm for the problem that runs in $O(nk^8)$ time. Our target again is to improve upon their algorithm.
We show how to improve the result to $O(n k^4)$.

We will use dynamic programming (DP) for this purpose. For DP, we define our (sub)problem to be $Embed(r',a',b',c')$ where $r'$ is the root of the (sub)tree $T'$ and $a'$,$b'$ and $c'$ are points in $S$. Now, $Embed(r',a',b',c')$ returns true if and only if it is possible to embed the corresponding subgraph $G'$ of the subtree $T'$ rooted at $r'$ such that its three outer vertices are mapped to the points $a'$, $b'$  and  $c'$. Now we can start building the DP matrix by computing $Embed(r',a',b',c')$ for the smaller subtrees to see whether the corresponding subgraphs can be embedded for a combination of 3 points of $S$ as outer vertices of the corresponding subgraphs. In the end, the goal is to check whether $Embed(r,a,b,c)$ returns true for any particular points $a,b,c \in S$, where $r$ is the root of the representative tree $T$ of the input plane 3-tree $G$. Clearly, if there exists $a,b,c\in S$ such that $Embed(r,a,b,c)$ is true, then $G$ is embeddable in $S$. We now have the following theorem.
\begin{theorem}
The Generalized Point-Set Embeddability problem can be solved in $O(n\times k^4)$ time.
\end{theorem}
\begin{proof}
If $r'$ is a leaf, then $Embed(r',a',b',c')$ is trivially true for any $a',b',c'\in S$. Now consider the calculation of $Embed(r',a',b',c')$ when $r'$ is not a leaf. Then, assume that the children of $r'$ are $r_1'$, $r_2'$ and $r_3'$ in that order. Then $Embed(r',a',b',c')$ is true if and only if we can find a point $u \in P_S(\triangle a'b'c')$ such that $Embed(r_1',a',b',u)$, $Embed(r_2',u,b',c')$ and $Embed(r_3',a',u,c')$ are true; otherwise $Embed(r',a',b',c')$ will be false. Clearly, the time required to calculate $Embed(r',a',b',c')$ is $O(g(|S|) + N_S(\triangle a'b'c'))$. Therefore, in the worst case the time required to calculate an entry of the DP matrix is $O(g(|S|) + k)$. Now, it is easy to realize that there are in total $nk^3$ entries in the DP matrix. Note that to be able to compute $P_S(\triangle a'b'c')$ we need to spend $O(f(|S|))$ time for a one-time preprocessing. Hence, the total running time is $O(f(|S|) + nk^3 \times (g(|S|) + k)) = O(f(|S|) + nk^3 g(|S|) + nk^4)$. Using the $\langle O(m^{1+\epsilon}),O(n^{1+\epsilon}/m^{1/2})\rangle$ result of Chazelle et al.~\cite{ALGOR::ChazelleSW1992}, the running time becomes $O(O(m^{1+\epsilon}) + nk^3 \times n^{1+\epsilon}/m^{1/2} + nk^4)$. Since, $n<m<n^2$, this running time is $O(nk^4)$ in the worst case.
\qed \end{proof}
\section{Conclusion}\label{sec:con}
In this paper, we have followed up the work of \cite{DBLP:conf/gd/NishatMR10} and presented an algorithm to solve the point-set embeddability problem in $O(n^{4/3+\epsilon} \log n)$ time.
This improves the recent $O(n^2 \log n)$ time result of~\cite{DBLP:conf/gd/NishatMR10}. Whether this algorithm can be improved further is an interesting open problem. In fact,
an $o(n^{4/3})$ algorithm could be an interesting avenue to explore, which however, does not seem to be likely with our current technique. Since there are $\Omega(n)$ nodes in the tree, any solution that uses triangular range search to check validity at least once for each node in the tree would require $\Omega(n)$ calls to triangular range query. Lower bound for triangular range search is shown to be $\langle \Omega(m), \Omega(n/m^{1/2}) \rangle$~\cite{journals/dcg/Chazelle97}, which suggests an $\Omega(n^{4/3})$ lower bound for our algorithm using triangular range search.

We have also studied a generalized version of the point-set embeddability problem where the point set $S$ has more than $n$ points. For this version of the problem we have presented an algorithm that runs in $O(nk^4)$ time, where $k = |S|$. Nishat et al.~\cite{DBLP:conf/gd/NishatMR10} also handled this version of the problem and presented an $O(nk^8)$ time algorithm. It would be interesting to see whether further improvements in this case are possible. Also, future research may be directed towards solving these problems for various other classes of graphs.

\bibliographystyle{abbrv}