1 Introduction

Many authors have analyzed several problems related to unirational algebraic varieties because these entities play an important role in the frame of practical applications (see e.g. [5, 6, 14], and [16]). In particular, in this paper, we deal with the problem of computing the asymptotes of the infinity branches of a plane algebraic curve. This question is very important in the study of real plane algebraic curves because asymptotes contain much of the information about the behavior of the curves in the large. For instance, determining the asymptotes of a curve is an important step in sketching its graph.

Intuitively speaking, the asymptotes of some branch, B, of a real plane algebraic curve, \(\mathcal C\), reflect the status of B at the points with sufficiently large coordinates. In analytic geometry, an asymptote of a curve is a line such that the distance between the curve and the line approaches zero as they tend to infinity. In some contexts, such as algebraic geometry, an asymptote is defined as a line which is tangent to a curve at infinity.

If B can be defined by some explicit equation of the form \(y = f(x)\) (or \(x = g(y)\)), where f (or g) is a continuous function on an infinite interval, it is easy to decide whether \(\mathcal C\) has an asymptote at B by analyzing the existence of the limits of certain functions when \(x\rightarrow \infty\) (or \(y\rightarrow \infty\)). Moreover, if these limits can be computed, we may obtain the equation of the asymptote of \(\mathcal C\) at B. However, if this branch B is implicitly defined and its equation cannot be converted into an explicit form, both the decision and the computation of the asymptote of \(\mathcal C\) at B require some others tools.

Determining the asymptotes of an implicit algebraic plane curve is a topic considered in many text-books on analysis (see for instance [8]). In [7], is presented a fast and a simple method for obtaining the asymptotes of a curve defined by an irreducible polynomial, with emphasis on second order polynomials. In [17], an algorithm for computing all the linear asymptotes of a real plane algebraic curve \(\mathcal C\) implicitly defined, is obtained. More precisely, one may decide whether a branch of \(\mathcal C\) has an asymptote, compute all the asymptotes of \(\mathcal C\), and determine those branches whose asymptotes are the same. By this algorithm, all the asymptotes of \(\mathcal C\) may be represented via polynomial real root isolation.

An algebraic plane curve may have more general curves than lines describing the status of a branch at the points with sufficiently large coordinates. This motivates that in this paper, we are interested in analyzing and computing these generalized asymptotes. Intuitively speaking, we say that a curve \(\widetilde{\mathcal{C}}\) is a generalized asymptote (or g-asymptote) of another curve \(\mathcal C\) if the distance between \(\widetilde{\mathcal{C}}\) and \(\mathcal C\) tends to zero as they tend to infinity, and \(\mathcal C\) can not be approached by a new curve of lower degree.

Since infinity branches and in particular, generalized asymptotes, reflect the status of a given curve at the infinity one may use these entities in many applications related with the engineering and the industry. For instance, one may deal with some the problem of plotting curves, problems of modeling or blending algebraic curves or surfaces, high-dimensional interpolation, rational approximation of non-rational curves and surfaces, etc (see [9,10,11,12,13] and [15]).

In this paper, we present an algorithm for computing all the g-asymptotes of a real algebraic plane curve \(\mathcal C\) implicitly or parametrically defined. For this purpose, we use the results in [1], where the notions of convergent branches (that is, branches that get closer as they tend to infinity) and approaching curves are introduced. These concepts are introduced in Sect. 2.

The study of approaching curves and convergent branches leads to the notions of perfect curve (a curve of degree d that cannot be approached by any curve of degree less than d) and g-asymptote (a perfect curve that approaches another curve at an infinity branch). These concepts are introduced in Sect. 3. In this section, we also develop an algorithm that computes a g-asymptote for each infinity branch of a given curve implicitly defined. The parametric case is dealt in Sect. 4. Furthermore, in this section, we also present a new method that allow to easily compute horizontal and vertical asymptotes. Finally, a section on conclusions and future work is presented (see Sect. 5).

2 Notation and previous results

In this section, we introduce the notion of infinity branch, convergent branches and approaching curves, and we obtain some properties which allow us to compare the behavior of two implicit algebraic plane curves at the infinity. For more details on these concepts and results, we refer to [2].

We consider an irreducible algebraic affine plane curve \(\mathcal C\) over \(\mathbb {C}\) defined by the irreducible polynomial \(f(x,y) \in {\mathbb {R}}[x,y]\). Let \(\mathcal{C}^*\) be its corresponding projective curve defined by the homogeneous polynomial

$$\begin{aligned} F(x,y,z)=f_d(x,y)+zf_{d-1}(x,y)+z^2f_{d-2}(x,y)+\cdots +z^d f_0 \in {\mathbb {R}}[x,y,z], \end{aligned}$$

where \(d:=\textrm{deg}(\mathcal{C})\). We assume that (0 : 1 : 0) is not an infinity point of \(\mathcal{C}^*\) (otherwise, we may consider a linear change of coordinates). In addition, \({{\mathbb {C}}\ll t\gg }:= \bigcup _{n=1}^\infty {\mathbb {C}}((t^{1/n}))\) is the field of formal Puiseux series.

Let \(P=(1:m:0),\,m\in {\mathbb {C}}\) be an infinity point of \(\mathcal{C}^*\), and we consider the curve defined by the polynomial \(g(y,z)=F(1:y:z)\). We compute the series expansion for the solutions of \(g(y,z)=0\). There exist exactly \(\textrm{deg}_{y}(g)\) solutions given by different Puiseux series that can be grouped into conjugacy classes. More precisely, if

$$\begin{aligned} \varphi (z)=m+a_1z^{N_1/N}+a_2z^{N_2/N}+a_3z^{N_3/N} + \cdots \in {\mathbb {C}}\ll z\gg ,\quad a_i\not =0,\, \forall i\in {\mathbb {N}}, \end{aligned}$$

where \(N\in {\mathbb {N}}\), \(N_i\in {\mathbb {N}},\,\,i=1,\ldots\), and \(0<N_1<N_2<\cdots\), is a Puiseux series such that \(g(\varphi (z), z)=0\), and \(\nu (\varphi )=N\) (i.e., N is the ramification index of \(\varphi\)), the series

$$\begin{aligned} \varphi _j(z)=m+a_1c_j^{N_1}z^{N_1/N}+a_2c_j^{N_2}z^{N_2/N}+a_3c_j^{N_3}z^{N_3/N} + \cdots \end{aligned}$$

where \(c_j^N=1,\,\,j=1,\ldots ,N\), are called the conjugates of \(\varphi\). The set of all the conjugates of \(\varphi\) is called the conjugacy class of \(\varphi\), and the number of different conjugates of \(\varphi\) is \(\nu (\varphi )\).

Since \(g(\varphi (z), z)=0\) in some neighborhood of \(z=0\) where \(\varphi (z)\) converges, there exists \(M \in {\mathbb {R}}^+\) such that \(F(1:\varphi (t):t)=g(\varphi (t), t)=0\) for \(t\in {\mathbb {C}}\) and \(|t|<M\), which implies that \(F(t^{-1}:t^{-1}\varphi (t):1)=f(t^{-1},t^{-1}\varphi (t))=0\), for \(t\in {\mathbb {C}}\) and \(0<|t|<M\). We set \(t^{-1}=z\), and we obtain that

$$\begin{aligned}{} & {} f(z,r(z))=0,\quad {z\in {\mathbb {C}}\, and |z|>M^{-1},\qquad where}\\{} & {} r(z)=z\varphi (z^{-1})=mz+a_1z^{1-N_1/N}+a_2z^{1-N_2/N}+a_3z^{1-N_3/N} + \cdots ,\quad a_i\not =0,\, \forall i\in {\mathbb {N}} \end{aligned}$$

\(N,N_i\in {\mathbb {N}},\,\,i=1,\ldots\), and \(0<N_1<N_2<\cdots\).

Reasoning similarly with the N different series in the conjugacy class, \(\varphi _1,\ldots ,\varphi _N\), we get

$$\begin{aligned} r_i(z)=z\varphi _i(z^{-1})=mz+a_1c_i^{N_1}z^{1-N_1/N}+a_2c_i^{N_2}z^{1-N_2/N}+a_3c_i^{N_3}z^{1-N_3/N} + \cdots \end{aligned}$$

where \(c_1,\ldots ,c_N\) are the N complex roots of \(x^N=1\). Under these conditions, we introduce the following definition.

Definition 1

An infinity branch of an affine plane curve \(\mathcal{C}\) associated to the infinity point \(P=(1:m:0),\,m\in {\mathbb {C}}\), is a set \(\displaystyle B=\bigcup _{j=1}^N L_j\), where \(L_j=\{(z,r_j(z))\in {\mathbb {C}}^2: \,z\in {\mathbb {C}},\,|z|>M\}\)\(M\in {\mathbb {R}}^+\), and

$$\begin{aligned} r_j(z)=z\varphi _j(z^{-1})=mz+a_1c_j^{N_1}z^{1-N_1/N}+a_2c_j^{N_2}z^{1-N_2/N}+a_3c_j^{N_3}z^{1-N_3/N} + \cdots \end{aligned}$$

where \(N, N_i\in {\mathbb {N}},\,\,i=1,\ldots\), \(0<N_1<N_2<\cdots\), and \(c_j^N=1,\,\,j=1,\ldots ,N\). The subsets \(L_1,\ldots ,L_N\) are called the leaves of the infinity branch B.

Remark 1

An infinity branch is uniquely determined from one leaf, up to conjugation. That is, if \(\displaystyle B=\bigcup _{i=1}^NL_i\), where \(L_i=\{(z,r_i(z))\in {\mathbb {C}}^2: \,z\in {\mathbb {C}},\,|z|>M_i\}\), and

$$\begin{aligned} r_i(z)=z\varphi _i(z^{-1})=mz+a_1z^{1-N_1/N}+a_2z^{1-N_2/N}+a_3z^{1-N_3/N} + \cdots \end{aligned}$$

then \(r_j=r_i,\,j=1,\ldots ,N\), up to conjugation; i.e.

$$\begin{aligned} r_j(z)=z\varphi _j(z^{-1})=mz+a_1c_j^{N_1}z^{1-N_1/N}+a_2c_j^{N_2}z^{1-N_2/N}+a_3c_j^{N_3}z^{1-N_3/N} + \cdots \end{aligned}$$

where \(N, N_i\in \mathbb {N}\), and \(c_j^N=1,\,\,j=1,\ldots ,N\). We may represent \(L_i=\{(z,r_i(z))\in {\mathbb {C}}^2: \,z\in {\mathbb {C}},\,|z|>M\}\)\(i=1,\ldots ,N\), where \(M:=\max \{M_1,\ldots ,M_N\}\).

By abuse of notation, we say that N is the ramification index of the branch B, and we write \(\nu (B)=N\). Note that B has \(\nu (B)\) leaves.

There exists a one-to-one relation between infinity places and infinity branches. In addition, each infinity branch is associated to a unique infinity point given by the center of the corresponding infinity place. Reciprocally, taking into account the above construction, we get that every infinity point has associated, at least, one infinity branch. Hence, every algebraic plane curve has, at least, one infinity branch. Furthermore, every algebraic plane curve has a finite number of branches.

In the following, we introduce the notions of convergent branches and approaching curves. Intuitively speaking, two infinity branches converge if they get closer as they tend to infinity. This concept will allow us to analyze whether two curves approach each other. For further details see [2].

Definition 2

Two infinity branches, B and \(\overline{B}\), are convergent if there exist two leaves \(L=\{(z,r(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M\} \subset B\) and \(\overline{L}=\{(z,\overline{r}(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>\overline{M}\}\subset \overline{B}\) such that \(\lim _{z\rightarrow \infty } (\overline{r}(z)-r(z))=0.\) In this case, we say that the leaves L and \(\overline{L}\) converge.

Observe that two convergent infinity branches are associated to the same infinity point. In addition, the convergence of two given infinity branches is characterized as follows.

Theorem 1

The following statements hold:

  1. 1.

    Two leaves \(L=\{(z,r(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M\}\) and \(\overline{L}=\{(z,\overline{r}(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>\overline{M}\}\) are convergent if and only if the terms with non negative exponent in the series r(z) and \(\overline{r}(z)\) are the same.

  2. 2.

    Two infinity branches B and \(\overline{B}\) are convergent if and only if for each leaf \(L\subset B\) there exists a leaf \(\overline{L}\subset \overline{B}\) convergent with L, and reciprocally.

Note that two convergent branches may be contained in the same curve or they may belong to different curves. In this second case, we will say that these curves approach each other. More precisely, we have the following definition.

Definition 3

Let \(\mathcal{C}\) be an algebraic plane curve with an infinity branch B. We say that a curve \({\overline{\mathcal{C}}}\) approaches \(\mathcal{C}\) at its infinity branch B if there exists one leaf \(L=\{(z,r(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M\}\subset B\) such that \(\lim _{z\rightarrow \infty }d((z,r(z)),\overline{\mathcal{C}})=0.\)

In the following, we state some important results concerning two curves that approach each other.

Theorem 2

Let \(\mathcal{C}\) be a plane algebraic curve with an infinity branch B. A plane algebraic curve \({\overline{\mathcal{C}}}\) approaches \(\mathcal{C}\) at B if and only if \({\overline{\mathcal{C}}}\) has an infinity branch, \(\overline{B}\), such that B and \(\overline{B}\) are convergent.

Remark 2

It holds that:

  1. 1.

    Relation of “proximity” is a symmetric relation. That is, \({\overline{\mathcal{C}}}\) approaches \(\mathcal{C}\) at some infinity branch B if and only if \(\mathcal{C}\) approaches \({\overline{\mathcal{C}}}\) at some infinity branch \(\overline{B}\). In the following, we say that \(\mathcal{C}\) and \({\overline{\mathcal{C}}}\) approach each other or that they are approaching curves.

  2. 2.

    Two approaching curves have a common infinity point.

  3. 3.

    \({\overline{\mathcal{C}}}\) approaches \(\mathcal{C}\) at an infinity branch B if and only if for every leaf \(L=\{(z,r(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M\}\subset B\), it holds that \(\displaystyle \lim _{z\rightarrow \infty }d((z,r(z)),\overline{\mathcal{C}})=0\).

Corollary 1

Let \(\mathcal C\) be an algebraic plane curve with an infinity branch B. Let \({\overline{\mathcal{C}}}_1\) and \({\overline{\mathcal{C}}}_2\) be two different curves that approach \(\mathcal C\) at B. Then:

  1. 1.

    \({\overline{\mathcal{C}}}_i\) has an infinity branch \(\overline{B_i}\) that converges with B, for \(i=1,2\).

  2. 2.

    \(\overline{B_1}\) and \(\overline{B_2}\) are convergent. Then, \({\overline{\mathcal{C}}}_1\) and \({\overline{\mathcal{C}}}_2\) approach each other.

3 Asymptotes of an implicit curve

Given an algebraic plane curve \(\mathcal C\) and a infinity branch B of \(\mathcal C\), in Sect. 2, we analyze whether \(\mathcal C\) can be approached at B by a new curve \({\overline{\mathcal{C}}}\). If \(\mathcal C\) is approached at B by \({\overline{\mathcal{C}}}\), and \(\textrm{deg}({\overline{\mathcal{C}}})<\textrm{deg}(\mathcal{C})\), one may say that \(\mathcal C\) degenerates, since \(\mathcal C\) behaves at the infinity as a curve of less degree.

For instance, a hyperbola is a curve of degree 2 that has two real asymptotes, which implies that the hyperbola degenerates, at the infinity, in two lines. However, the asymptotic behavior of a parabola is different, since at the infinity, the parabola cannot be approached by any line. This motivates the following definition.

Definition 4

A curve of degree d is a perfect curve if it cannot be approached by any curve of degree less than d.

A curve that is not perfect can be approached by other curves of less degree. If these curves are perfect, we call them g-asymptotes. More precisely, we have the following definition.

Definition 5

Let \(\mathcal{C}\) be a curve with an infinity branch B. A g-asymptote (generalized asymptote) of \(\mathcal{C}\) at B is a perfect curve that approaches \(\mathcal{C}\) at B.

The notion of g-asymptote is similar to the classical concept of asymptote. The difference is that a g-asymptote is not necessarily a line, but a perfect curve. Actually, it is a generalization, since every line is a perfect curve (this fact follows from Definition 4). Throughout the paper we refer to g-asymptote simply as asymptote.

Remark 3

The degree of an asymptote is less or equal than the degree of the curve it approaches. In fact, an asymptote of a curve \(\mathcal C\) at a branch B has minimal degree among all the curves that approach \(\mathcal C\) at B.

In Sect. 3.1, we show that every infinity branch of a given algebraic plane curve has, at least, one asymptote and we show how to compute it. For this purpose, we rewrite equation defining a branch B (see Definition 1) as

$$\begin{aligned} r(z)=mz+a_1z^{-n_1/n+1}+\cdots +a_kz^{-n_k/n+1}+a_{k+1}z^{-N_{k+1}/N+1}+\cdots \end{aligned}$$
(3.1)

where \(\textrm{gcd}(N,N_1,\ldots ,N_k)=b\)\(N_j=n_jb,\,N=nb,\,\,j=1,\ldots ,k\). That is, we have simplified the non negative exponents such that \(\textrm{gcd}(n,n_1,\ldots ,n_k)=1\). Note that \(0<n_1<n_2<\cdots\), \(n_k\le n\), and \(N<n_{k+1}\), i.e. the terms \(a_jz^{-N_j/N+1}\) with \(j\ge k+1\) have negative exponent. We denote these terms as

$$\begin{aligned} A(z):=\sum _{\ell =k+1}^\infty a_{\ell }z^{-q_{\ell }},\,\quad q_{\ell }=-N_{\ell }/N+1\in \mathbb {Q}^+,\,\,\,\ell \ge k+1.\end{aligned}$$

Under these conditions, we introduce the definition of degree of a branch B as follows:

Definition 6

Let \(B=\{(z,r(z))\in {\mathbb {C}}^2: \,z\in {\mathbb {C}},\,|z|>M\}\) defined by (3.1) an infinity branch associated to \(P=(1:m:0),\,m\in {\mathbb {C}}\). We say that n is de degree of B, and we denote it by \(\textrm{deg}(B)\).

3.1 Construction of an asymptote

Taking into account the results presented above, we have that any curve \(\overline{\mathcal{C}}\) approaching \(\mathcal{C}\) at B should have an infinity branch \(\overline{B}=\{(z,\overline{r}(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>\overline{M}\}\) such that the terms with non negative exponent in r(z) and \(\overline{r}(z)\) are the same. In the simplest case, if \(A=0\) (i.e. there are not terms with negative exponent; see Eq. (3.1)), we obtain

$$\begin{aligned} \tilde{r}(z)=mz+a_1z^{-n_1/n+1}+a_2z^{-n_2/n+1}+\cdots +a_kz^{-n_k/n+1}, \end{aligned}$$
(3.2)

where \(a_1,a_2,\ldots \in \mathbb {C}{\setminus } \{0\}\)\(m\in {\mathbb {C}}\), \(n,n_1,n_2\ldots \in \mathbb {N}\), \(\textrm{gcd}(n,n_1,\ldots ,n_k)=1\), and \(0<n_1<n_2<\cdots\). Note that \(\tilde{r}\) has the same terms with non negative exponent that r, and \(\tilde{r}\) does not have terms with negative exponent.

Let \(\widetilde{\mathcal{C}}\) be the plane curve containing the branch \(\widetilde{B}=\{(z,\tilde{r}(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>\widetilde{M}\}\) (note that \(\widetilde{\mathcal{C}}\) is unique since two different algebraic curves have finitely many common points). Observe that

$$\begin{aligned}\widetilde{\mathcal{Q}}(t)=(t^n,mt^n+a_1t^{n-n_1} +\cdots +a_kt^{n-n_k})\in v[t]^2,\end{aligned}$$

where \(n,n_1,\ldots ,n_k\in \mathbb {N}\), \(\textrm{gcd}(n,n_1,\ldots ,n_k)=1\), and \(0<n_1<\cdots <n_k\), is a polynomial parametrization of \(\widetilde{\mathcal{C}}\), and it is proper (see Lemma 3 in [1]). In Theorem 2 in [1], we prove that \(\widetilde{\mathcal{C}}\) is an asymptote of \(\mathcal{C}\) at B.

From these results, we obtain the following algorithm that computes an asymptote for each infinity branch of a given plane curve. We assume that we have prepared the input curve \(\mathcal C\), such that by means of a suitable linear change of coordinates, (0 : 1 : 0) is not an infinity point of \(\mathcal C\).

Algorithm Asymptotes Construction–Implicit Case.

Given a plane algebraic curve \(\mathcal C\) implicitly defined by an irreducible polynomial

\(f(x,y)\in {\mathbb {R}}[x,y]\), the algorithm computes one asymptote for each of its infinity

branches.

1. Compute the infinity points of \(\mathcal C\). Let \(P_1,...,P_n\) be these points.

2. For each \(P_i:=(1:m_i:0)\) do:

   2.1. Compute the infinity branches of \(\mathcal C\) associated to \(P_i\). Let \(B_j=\{(z,r_j(z))\in\)

         \({\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M_j\}\), \(j=1,\ldots , s_i,\) be these branches, where \(r_j\) is written as

         in equation (3.1). That is,

                     \(r_j(z)=m_iz+a_{1,j}z^{-n_{1,j}/n_j+1}+\cdots +a_{k_j,j}z^{-n_{k_j,j}/n_j+1}+A_j(z),\)

                     \(A_j(z)=\sum _{\ell =k_j+1}^\infty a_{\ell , j}z^{-q_{\ell , j}},\,\quad q_{\ell ,j}=-N_{\ell ,j}/N_j+1\in \mathbb {Q}^+,\,\,\,\ell \ge k_j+1,\)

         \(a_{1,j},a_{2,j},\ldots \in \mathbb {C}\setminus \{0\}\)\(n_j,n_{1,j},\ldots \in \mathbb {N}\), \(0<n_{1,j}<n_{2,j}<\cdots\), \(n_{k_j}\le n_j\),

         \(N_j<n_{k_j+1}\), and \(\textrm{gcd}(n_j,n_{1,j},\ldots ,n_{k_j,j})=1\).

   2.2. For each branch \(B_j,\,j=1,\ldots , s_i\) do:

      2.2.1. Consider \(\tilde{r}_j\) as in equation (3.2). That is,

                           \(\tilde{r}_j(z)=m_iz+a_{1,j}z^{-n_{1,j}/n_j+1}+\cdots +a_{{k_j},j}z^{-n_{{k_j},j}/n_j+1}\)

            Note that \(\tilde{r}\) has the same terms with non negative exponent that r, and

            \(\tilde{r}\) does not have terms with negative exponent.

   2.2.2. Return the asymptote \(\widetilde{\mathcal{C}}_j\) defined by the proper parametrization \(\widetilde{Q}_j(t)=\)

            \((t^{n_j},\,\tilde{r}_j(t^{n_j}))\in {\mathbb {C}}[t]^2\).

Remark 4

The algorithm Asymptotes Construction–Implicit Case outputs an asymptote \(\widetilde{\mathcal{C}}\) that is independent of leaf chosen to define the branch \(B=\{(z,r(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M\}\).

In the following, we illustrate the above algorithm with an example.

Example 1

Let \(\mathcal{C}\) be the curve of degree \(d=4\) defined by the irreducible polynomial

$$\begin{aligned}f(x,y)= & {} 38 x^2+12 y x^2+16 x^3-65 y x-24 y^2 x+3 x^4+6 x^2 y^2+8 y x^3-19 y\\{} & {} \quad +5 y^2-20 y^3-y^4\in {\mathbb {R}}[x,y].\end{aligned}$$

We apply algorithm Asymptotes Construction–Implicit Case to compute the asymptotes of \(\mathcal C\).

Fig. 1
figure 1

Curve \(\mathcal C\) (left), asymptotes (center) and curve and asymptotes (right)

  • Step 1: We have that \(f_4(x,y)=(3x-y)(y+x)^3\). Hence, the infinity points are \(P_1=(1:3:0)\) and \(P_2=(1:-1:0)\). We start by analyzing the point \(P_1\):

  • Step 2.1: The only infinity branch associated to \(P_1\) is \(B_1=\{(z,r_1(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M_1\}\), where

    $$\begin{aligned}r_1(z)=-11+3z-106 z^{-4}-120/z^{-3}+7 z^{-2}+23 z^{-1}+\cdots \end{aligned}$$

    (we compute \(r_1\) using the algcurves package included in the computer algebra system Maple).

  • Step 2.2.1: We compute \(\tilde{r}_1(z)\), and we have that \(\tilde{r}_1(z)=-11+3z.\)

  • Step 2.2.2: The parametrization of the asymptote \(\widetilde{\mathcal{C}}_1\) is given by \(\widetilde{Q}_1(t)=(t, -11+3t)\in {\mathbb {R}}[t]^2.\) One may compute the polynomial defining implicitly \(\widetilde{\mathcal{C}}_1\) and we have that \(\tilde{f}_1(x,y)=y-3x+11\in {\mathbb {R}}[x,y].\)

Now, we focus on the point \(P_2\):

  • Step 2.1: The only infinity branch associated to \(P_2\) is \(B_2=\{(z,r_2(z))\in {\mathbb {C}}^2:\,z\in {\mathbb {C}},\,|z|>M_2\}\), where

    $$\begin{aligned}r_2(z)=-3-z-z^{1/3}-351/81 z^{-1/3}+\cdots .\end{aligned}$$
  • Step 2.2.1: We obtain that \(\tilde{r}_2(z)= -3-z-z^{1/3}.\)

  • Step 2.2.2: The parametrization of the asymptote \(\widetilde{\mathcal{C}}_2\) is given by \(\widetilde{Q}_2(t)=(t^3,-3-t^3-3t)\in {\mathbb {R}}[t]^2\). One may compute the polynomial defining implicitly \(\widetilde{\mathcal{C}}_2\) (use for instance the results in [14]). We have,

    $$\begin{aligned}\tilde{f}_2(x,y)=-27-27 y-54 x-x^3-9 x^2-3 y x^2-18 y x-3 y^2 x-9 y^2-y^3\in {\mathbb {R}}[x,y].\end{aligned}$$

In Fig. 1, we plot the curve \(\mathcal C\), and the asymptotes \(\widetilde{\mathcal{C}}_1\) and \(\widetilde{\mathcal{C}}_2\).

4 Asymptotes of a parametric curve

Throughout this paper so far, we have dealt with algebraic plane curves implicitly defined. In this section, we present a method to compute infinity branches and asymptotes of a plane curve from their parametric representation (without implicitizing). These results are all included in [3].

Thus, in the following, we deal with plane curves defined parametrically. However, the method described can be trivially applied for a rational parametrization of a curve in the n-dimensional space.

Let \(\mathcal{C}\) be a plane curve defined by the parametrization

$$\begin{aligned}\mathcal{P}(s)=(p_1(s),p_2(s))\in {\mathbb {R}}(s)^2,\quad p_i(s)=p_{i1}(s)/p(s),\,i=1,2.\end{aligned}$$

If \(\mathcal{C}^*\) represents the projective curve associated to \(\mathcal{C}\), we have that a parametrization of \(\mathcal{C}^*\) is given by \(\mathcal{P}^*(s)=(p_{11}(s):p_{21}(s)::p(s))\) or, equivalently,

$$\begin{aligned}\mathcal{P}^*(s)=\left( 1:\frac{p_{21}(s)}{p_{11}(s)}:\frac{p(s)}{p_{11}(s)}\right) .\end{aligned}$$

We assume that we have prepared the input curve \(\mathcal{C}\), by means of a suitable linear change of coordinates (if necessary) such that (0 : 1 : 0) is not a point at infinity of \(\mathcal{C}^*\).

In order to compute the asymptotes of \(\mathcal C\), first we need to determine the infinity branches of \(\mathcal C\). That is, the sets

$$\begin{aligned}B=\{(z, r_{2}(z))\in {\mathbb {C}}^2: \,z\in {\mathbb {C}},\,|z|>M\},\,\, \text{ where }\,\, r_{2}(z)=z\varphi _{2}(z^{-1}).\end{aligned}$$

For this purpose, taking into account Definition 1, we have that \(f(z,r_{2}(z))=F(1:\varphi _{2}(z^{-1}):z^{-1})=F(1:\varphi _{2}(t):t)=0\) around \(t=0\), where \(t=z^{-1}\) and F is the polynomial defining implicitly \(\mathcal{C}^*\). Observe that in this section, we are given the parametrization \(\mathcal{P}^*\) of \(\mathcal{C}^*\) and then, \(F(\mathcal{P}^*(s))=F\left( 1:{p_{21}(s)}/{p_{11}(s)}:{p(s)}/{p_{11}(s)}\right) =0.\) Thus, intuitively speaking, in order to compute the infinity branches of \(\mathcal C\), and in particular the series \(\varphi _2\), one needs to rewrite the parametrization \(\mathcal{P}^*(s)\) in the form \((1:\varphi _{2}(t):t)\) around \(t=0\). For this purpose, the idea is to look for a value of the parameter s, say \(\ell (t)\in {\mathbb {C}}\ll t\gg\), such that \(\mathcal{P}^*(\ell (t))=(1:\varphi _{2}(t):t)\) around \(t=0\).

Hence, from the above reasoning, we deduce that first, we have to consider the equation \(p(s)/p_{11}(s)=t\) (or equivalently, \(p(s)-tp_{11}(s)=0\)), and we solve it in the variable s around \(t=0\). From Puiseux’s Theorem, there exist solutions \(\ell _1(t),\ell _2(t),\ldots ,\ell _k(t)\in {\mathbb {C}}\ll t\gg\) such that, \(p(\ell _i(t))-tp_{11}(\ell _i(t))=0,\,i=1,\ldots ,k,\) in a neighborhood of \(t=0\).

Thus, for each \(i=1,\ldots ,k\), there exists \(M_i\in {\mathbb {R}}^+\) such that the points \((1:\varphi _{i,2}(t):t)\) or equivalently, the points \((t^{-1}:t^{-1}\varphi _{i,2}(t):1)\), where

$$\begin{aligned} \varphi _{i,2}(t)=\frac{p_{2,1}(\ell _i(t))}{p_{11}(\ell _i(t))},\quad \end{aligned}$$
(4.1)

are in \(\mathcal{C}^*\) for \(|t|<M_i\) (note that \(\mathcal{P}^*(\ell (t))\in \mathcal{C}^*\) since \(\mathcal{P}^*\) is a parametrization of \(\mathcal{C}^*\)). Observe that \(\varphi _{i,2}(t)\) is Puiseux series, since \(p_{2,1}(\ell _i(t))\) and \(p_{11}(\ell _i(t))\) can be written as Puiseux series and \({\mathbb {C}}\ll t\gg\) is a field.

Finally, we set \(z=t^{-1}\). Then, we have that the points \((z,r_{i,2}(z))\), where \(r_{i,2}(z)=z\varphi _{i,2}(z^{-1})\), are in \(\mathcal{C}\) for \(|z|>M_i^{-1}\). Hence, the infinity branches of \(\mathcal C\) are the sets \(B_i=\{(z,r_{i,2}(z))\in {\mathbb {C}}^3: \,z\in {\mathbb {C}},\,|z|>M_i^{-1}\},\quad i=1,\ldots ,k.\)

Remark 5

Note that the series \(\ell _i(t)\) satisfies that \(p(\ell _i(t))/p_{11}(\ell _i(t))=t\), for \(i=1,\ldots ,k\). Then, from equality (4.1), we have that

$$\begin{aligned}\varphi _{i,2}(t)=\frac{p_{2,1}(\ell _i(t))}{p(\ell _i(t))}t=p_2(\ell _i(t))t,\quad \text{ and }\quad r_{i,2}(z)=z\varphi _{i,2}(z^{-1})=p_2(\ell _i(z^{-1})).\end{aligned}$$

Once we have the infinity branches, we can compute an asymptote for each of them by simply removing the terms with negative exponent from \(r_{i,2}\).

The following algorithm computes the infinity branches of a given parametric space curve and provides an asymptote for each of them.

Algorithm Asymptotes Construction-Parametric Case.

Given a rational irreducible real algebraic space curve \(\mathcal C\) defined by a parametrization

\(\mathcal{P}(s)=(p_1(s),p_2(s))\in \mathbb {R}(s)^2,\) \(p_j(s)=p_{j1}(s)/p(s),\,j=1,2\), the algorithm outputs

one asymptote for each of its infinity branches.

      1. Compute the Puiseux solutions of \(p(s)-tp_{11}(s)=0\) around \(s=0\). Let them

            be \(\ell _1(t),\ell _2(t),\ldots ,\ell _k(t)\in {\mathbb {C}}\ll t\gg\).

      2. For each \(\ell _i(t)\in {\mathbb {C}}\ll t\gg\), \(i=1,\ldots , k,\) do:

            2.1. Compute the corresponding infinity branch of \(\mathcal C\): \(B_i=\{(z,r_{i,2}(z))\in {\mathbb {C}}^3:\,\)

                  \(z\in {\mathbb {C}},\,|z|>M_i\},\quad \text{ where }\) \(r_{i,2}(z)=p_2(\ell _i(z^{-1}))\) is given as Puiseux series

                  (see Remark 5).

            2.2. Consider the series \(\tilde{r}_{i,2}(z)\) obtained by eliminating the terms with negative

                  exponent in \(r_{i,2}(z)\) (see equation (3.2)).

            2.3. Return the asymptote \(\widetilde{\mathcal{C}}_i\) defined by the proper parametrization \(\widetilde{Q}_i(t)\)

                  \(=(t^{n_i},\,\tilde{r}_{i,2}(t^{n_i}))\in {\mathbb {C}}[t]^2\), where \(n_i=\textrm{deg}(B_i)\) (see Definition 6).

Remark 6

  1. 1.

    In step 1 of the algorithm, some of the solutions \(\ell _1(t),\ell _2(t),\ldots ,\ell _k(t)\in {\mathbb {C}}\ll t\gg\) might belong to the same conjugacy class. Thus, we only consider one solution for each of these classes. The output asymptote \(\widetilde{\mathcal{C}}\) is independent of the solutions \(\ell _1(t),\ell _2(t),\ldots ,\ell _k(t)\in {\mathbb {C}}\ll t\gg\) chosen in step 1, and of the leaf chosen to define the branch B.

  2. 2.

    If \((0:1:0)\in \mathcal{C}^*\), one may prepare the input curve \(\mathcal C\) such that (0 : 1 : 0) is not a point at infinity of \(\mathcal{C}^*\) or to apply the algorithm first for \({\mathcal {P}}\) and then for \((p_2(s),p_1(s))\in {\mathbb {R}}(s)^2\). In this last case, if we get the asymptote \((q_1,\,q_2)\), we have to undo the necessary change of coordinates and we finally have the asymptote \(\widetilde{Q}(t)=(q_2,\,q_1)\). Some of these asymptotes could be obtained for \({\mathcal {P}}\) but some other new will appear.

In the following example, we study a parametric plane curve with only one infinity branch. We use algorithm Space Asymptotes Construction-Parametric Case to obtain the branch and compute an asymptote for it.

Example 2

Let \(\mathcal{C}\) be the plane curve defined by the parametrization

$$\begin{aligned}\mathcal{P}(s)=\left( \frac{s^3+1}{s^3}, \frac{2s^3+s+1}{s^3}\right) \in {\mathbb {R}}(s)^2.\end{aligned}$$

Step 1: We compute the solutions of the equation \(p(s)-tp_{11}(s)=s^2-ts^3-t=0\) around \(t=0\). For this purpose, we may use, for instance, the command puiseux included in the package algcurves of the computer algebra system Maple. There are two solution that are given by the Puiseux series

$$\begin{aligned}\ell _1(t)=t^{-1}-2t^5-t^2,\qquad \ell _2(t)=t^5+5/8 t^{7/2}+1/2 t^2+t^{1/2}+\cdots \end{aligned}$$

(note that \(\ell _2(t)\) represents a conjugacy class composed by two conjugated series).

Step 2:

  • Step 2.1: We compute

    $$\begin{aligned}{} & {} r_{1,2}(z)=p_2(\ell _1(z^{-1}))= 2z+1/z-1/z^2+\cdots \\{} & {} r_{2,2}(z)=p_2(\ell _2(z^{-1}))=z+z^{1/2}+z^{-1/2}-1/2 z^{-1}+1/2 z^{-2}+\cdots \end{aligned}$$

    (we may use, for instance, the command series included in the computer algebra system Maple). The curve has two infinity branches given by

    $$\begin{aligned}B_i=\{(z,r_{i,2}(z))\in {\mathbb {C}}^2: \,z\in {\mathbb {C}},\,|z|>M\}\end{aligned}$$

    for some \(M\in {\mathbb {R}}^+\) (note that \(B_2\) has two leaves).

  • Step 2.2: We obtain \(\tilde{r}_{i,2}(z)\) by eliminating the terms with negative exponent in \(r_{i, 2}(z)\) for \(i=1,2\). We get

    $$\begin{aligned}\tilde{r}_{1,2}(z)=2z\quad \text { and }\quad \tilde{r}_{2,2}(z)=z+z^{1/2}.\end{aligned}$$
  • Step 2.3: The input curve \(\mathcal C\) has two asymptotes \(\widetilde{\mathcal{C}}_i\) at \(B_i\) that can be polynomially parametrized by:

    $$\begin{aligned}\widetilde{Q}_1(t)=(t, 2t),\quad \widetilde{Q}_2(t)=(t^2, t+t^2).\end{aligned}$$

In Fig. 2, we plot the curve \(\mathcal C\), and the asymptotes \(\widetilde{\mathcal{C}}_1\) and \(\widetilde{\mathcal{C}}_2\).

Fig. 2
figure 2

Curve \(\mathcal C\) (left), asymptotes (center) and curve and asymptotes (right)

Remark 7

Note that when we compute the series \({\ell }_i\) in step 1, we cannot handle its infinite terms so it must be truncated, which may distort the computation of the series \(r_{i,j}\) in step 2. However, this distortion may not affect to all the terms in \(r_{i,j}\). In fact, the number of affected terms depends on the number of terms considered in \({\ell }_i\). Nevertheless, note that we do not need to know the full expression of \(r_{i,j}\) but only the terms with non negative exponent. In [3], it is proved that the terms with non negative exponent in \(r_{i,j}\) can be obtained from a finite number of terms considered in \(\ell _i\). In fact, it provides a lower bound for the number of terms needed in \(\ell _i\).

4.1 Improvement of the method for the parametric case: vertical and horizontal asymptotes

In this subsection, we deal with a particular case: the computation of lines that are vertical and horizontal asymptotes of a given particular parametric plane curve. We show that in fact, this method, which is based in the results presented above, avoid the computation of the infinity branch and the puiseux series. We present this method for the plane case but it can be trivially applied for a rational parametrization of a curve in the n-dimensional space.

For this purpose, in the following we consider a rational plane curve \(\mathcal C\) defined by the parametrization

$$\begin{aligned}\mathcal{P}(s)=(p_1(s),p_2(s))\in {\mathbb {R}}(s)^2,\quad p_i(s)=p_{i1}(s)/p_{i2}(s),\,i=1,2.\end{aligned}$$

Let us assume that \(\textrm{deg}(p_{i1})=\textrm{deg}(p_{i2})=d_i,\,i=1,2\). Otherwise, we apply a linear change of variables. In addition, we assume that the polynomials \(p_{i2},\,i=1,2,\) only has simple roots and that \(\textrm{gcd}(p_{12}, p_{22})=1\). Note that in the practical designing of engineering and modeling applications, the rational curves are usually presented by numerical coefficients and \({\mathcal {P}}(s)\) mostly satisfies the above conditions.

Under these conditions, in the following theorem we prove that the asymptotes of \(\mathcal C\) are exactly the lines \(x-p_1(r_{2j})=0,\,j=1,\ldots , d_2\) and \(y-p_2(r_{2j})=0,\,j=1,\ldots , d_1\), where \(p_{i2}(r_{ij})=0,\,i=1,2,\,\,j=1,\ldots , d_i\).

Theorem 3

Let \(\mathcal C\) be a curve defined by a parametrization

$$\begin{aligned}\mathcal{P}(s)=(p_1(s),p_2(s))\in {\mathbb {R}}(s)^2,\quad p_i(s)=p_{i1}(s)/p_{i2}(s),\,i=1,2,\end{aligned}$$

where \(\textrm{deg}(p_{i1})=\textrm{deg}(p_{i2})=d_i,\,i=1,2\), \(\textrm{gcd}(p_{12}, p_{22})=1\) and \(p_{i2}(r_{ij})=0,\,i=1,2,\,\,j=1,\ldots , d_i\). It holds that the asymptotes of \(\mathcal C\) are the lines

$$\begin{aligned}x-p_1(r_{2j})=0,\,j=1,\ldots , d_2,\,\,\, \text{ and }\,\,\, y-p_2(r_{1j})=0,\,j=1,\ldots , d_1.\end{aligned}$$

Proof

We use algorithm Space Asymptotes Construction-Parametric Case to obtain the branches and to compute the asymptotes. We observe that \({\mathcal {P}}^*(r_{2i})=(0:1:0)\), and thus \((0:1:0)\in \mathcal{C}^*\). Hence, we apply the algorithm first for \({\mathcal {P}}\) and afterwards for \((p_2(s),p_1(s))\in {\mathbb {R}}(s)^2\) (see statement 2 in Remark 6).

In the first step of the algorithm, we first compute the Puiseux solutions of \(p(s)-tp_{11}(s)=0\) around \(s=0\), where \(p(s)=p_{12}(s)p_{22}(s)\) (note that \(\textrm{gcd}(p_{12}, p_{22})=1\)). Since \(r_{ij}\) are simple roots of the polynomials \(p_{i2}(s)\), we get that

$$\begin{aligned}\ell _i(t)=r_{1i}+a_{i1}t+a_{i2}t^2+\cdots \in {\mathbb {C}}\ll t\gg ,\,\,\,\, \text{ for }\,\,\, i=1,\ldots , d_1 \end{aligned}$$

(see [4]). For each \(\ell _i(t)\) we compute the corresponding infinity branch of \(\mathcal C\):

$$\begin{aligned}B_i=\{(z,r_{i,2}(z))\in {\mathbb {C}}^3:\,z\in {\mathbb {C}},\,|z|>M_i\},\quad \text{ where }\end{aligned}$$

\(r_{i,2}(z)=p_2(\ell _i(z^{-1}))\) is given as Puiseux series. We observe that

$$\begin{aligned}{} & {} h_i(z):=p_2(\ell _i(z))=h(0)+h'(0)z+h''(0)/2z^2+\cdots \\{} & {} \quad =p_2(r_{1i})+h'(0)z+h''(0)/2z^2+\cdots ,\,\,\,\, \text{ for }\,\,\, i=1,\ldots , d_1,\end{aligned}$$

(see the theory on Laurent series expansions; e.g. [8]). Then,

$$\begin{aligned}r_{i,2}(z)=p_2(\ell _i(z^{-1}))=p_2(r_{1i})+h'(0)z^{-1}+h''(0)/2 z^{-2}+\cdots ,\,\,\,\, \text{ for }\,\,\, i=1,\ldots , d_1,\end{aligned}$$

and thus

$$\begin{aligned}\tilde{r}_{i,2}(z)=p_2(r_{1i}),\,\,\,\, \text{ for }\,\,\, i=1,\ldots , d_1.\end{aligned}$$

Therefore, we have the asymptotes \(\widetilde{\mathcal{C}}_i\) defined by the proper parametrizations \(\widetilde{Q}_i(t)=(t,\,p_2(r_{1i}))\in {\mathbb {C}}[t]^2,\,\,\, i=1,\ldots , d_1\). Observe that the implicit equations of these curves are the lines defined by the equations \(y-p_2(r_{1j})=0,\,j=1,\ldots , d_1.\)

We reason similarly for \((p_2(s),p_1(s))\in {\mathbb {R}}(s)^2\), and we get the asymptotes \(\widetilde{\mathcal{C}}_i\) defined by the proper parametrization \(\widetilde{Q}_i(t)=(p_1(r_{2i}), t)\in {\mathbb {C}}[t]^2,\,\,\, i=1,\ldots , d_1\). Observe that the implicit equations of these curves are the lines defined by the equations \(x-p_1(r_{2j})=0,\,j=1,\ldots , d_2.\) \(\square\)

In general, in order to compute the roots \(r_{ij}\), one needs to introduce algebraic numbers during the computations. However, in this case, the root will be approximated and the asymptote computed will be parallel to the real one. In order to avoid this problem, in the following, we present a method that allows us to determine a polynomial which factors describe all the asymptotes. The idea is to collect points whose coordinates depend algebraically on all the conjugate roots of the same irreducible polynomial m(t).

Theorem 4

Under the conditions of Theorem 3, let \(m_1(s)\in {\mathbb {R}}[s]\) be such that \(m_1(s)\) divides \(p_{12}(s)\). Let

$$\begin{aligned}R_1(y)=\textrm{resultant}_s(p_{21}(s)-yp_{22}(s), m_1(s))\in {\mathbb {R}}[s].\end{aligned}$$

Up to constants in \({\mathbb {R}}\), it holds that \(R_1(y)=\prod _{j=1}^{\ell _1}(y-p_2(r_{1j}))\), where \(m_1(r_{1j})=0,\,j=1,\ldots ,\ell _1.\) Analogously, if \(m_2(s)\in {\mathbb {R}}[s]\) divides \(p_{22}(s)\), and

$$\begin{aligned}R_2(x)=\textrm{resultant}_s(p_{11}(s)-xp_{12}(s), m_2(s))\in {\mathbb {R}}[s] \end{aligned}$$

then, up to constants in \({\mathbb {R}}\), it holds that \(R_2(x)=\prod _{j=1}^{\ell _2}(x-p_1(r_{2j}))\), where \(m_2(r_{2j})=0,\,j=1,\ldots ,\ell _2.\)

Proof

By applying the resultant properties (see e.g. Appendix 2 in [14]), one has that

$$\begin{aligned}R_1(y)=\textrm{lc}(m_1)^k\prod _{j=1}^{\ell _1} (p_{21}(r_{1j})-yp_{22}(r_{1j})),\end{aligned}$$

where \(k=\textrm{deg}_s(p_{21}(s)-yp_{22}(s))\), and \(\textrm{lc}(m_1)\) denotes the leading coefficient of the polynomial \(m_1\). Thus, up to constants in \({\mathbb {R}}\), we may write \(R_1(y)=\prod _{j=1}^{\ell _1}(y-p_2(r_{1j}))\). \(\square\)

Example 3

Let \(\mathcal{C}\) be the plane curve defined by the parametrization

$$\begin{aligned}\mathcal{P}(s)=\left( \frac{s^2(s^2-1)}{(s^3+s^2+1)(2s-1)}, -\frac{s^3+s^2+2}{s(s-1)(5s-1)}\right) \in {\mathbb {R}}(s)^2.\end{aligned}$$

We may check that we are in the conditions of Theorem 3. Hence, we apply this theorem, and we have that the asymptotes of \(\mathcal C\) are the lines defined by the parametrizations

$$\begin{aligned}{} & {} \widetilde{Q}_1(t)=(t,\,p_2(1/2))=(t,\,19/7),\quad \widetilde{Q}_2(t)=(p_1(0), t)=(p_1(1), t)=(0, t),\quad \\ {}{} & {} \widetilde{Q}_3(t)=(p_1(1/5), t)=(8/301, t).\end{aligned}$$
Fig. 3
figure 3

Asymptotes of the curve \(\mathcal C\)

Fig. 4
figure 4

Curve \(\mathcal C\) (left), and curve and asymptotes (right)

These asymptotes are the lines \(y-19/7=0\), \(x=0\) and \(x-8/301=0\), respectively. In order to compute the asymptote generated by \(m_1(s)=s^3+s^2+1\), we apply Theorem 4, and we have that \(R_1(y)=0\), where

$$\begin{aligned}R_1(y)=\textrm{resultant}_s(p_{21}(s)-yp_{22}(s), m_1(s))=387 y^3-20 y^2+23 y-1,\end{aligned}$$

defines three lines that are asymptotes. Observe that one of these lines is a real line and the other are complex conjugate lines.

In Figs. 3 and 4, we plot the curve \(\mathcal C\), and the asymptotes.

5 Conclusion

In this paper, we present some results that allow to analyze the behavior at infinity of a real algebraic space curve implicitly or parametrically defined. In particular, we introduce the notions of infinity branches and generalized asymptotes, we study some properties, and we present algorithms where we show how to compute them. These notions and results were obtained in [1, 2] and [3].

In addition, as a consequence of these results, and related with the current research progress in this field, we show the particular case of a given parametric curve that only has vertical and horizontal asymptotes. In this case, an easier method is derived. Furthermore, the method described can be trivially applied for a rational parametrization of a curve in the n-dimensional space.

It would be interesting to generalize this method to compute the asymptotes of a more general parametric curve without computing Puiseux series. However, currently there are no complete results for these general cases.

In addition, generalizing this current method to compute singularities of surfaces is also a problem worthy of further study.