Next Article in Journal
Solving a System of Integral Equations in Rectangular Menger Probabilistic Metric Spaces and Rectangular Menger Probabilistic b-Metric Spaces
Next Article in Special Issue
The Invariants of Dual Parallel Equidistant Ruled Surfaces
Previous Article in Journal
Novel Complex Pythagorean Fuzzy Sets under Aczel–Alsina Operators and Their Application in Multi-Attribute Decision Making
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Some New Symbolic Algorithms for the Computation of Generalized Asymptotes

by
Elena Campo-Montalvo
1,*,†,
Marián Fernández de Sevilla
2,†,
J. Rafael Magdalena Benedicto
3,† and
Sonia Pérez-Díaz
4,†
1
Department of Computer Engineering, University of Alcalá, 28871 Alcalá de Henares, Spain
2
Department of Computer Science, University of Alcalá, 28871 Alcalá de Henares, Spain
3
Department of Electronic Engineering, University of Valencia, 46010 València, Spain
4
Department of Physics and Mathematics, University of Alcalá, 28871 Alcalá de Henares, Spain
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Symmetry 2023, 15(1), 69; https://doi.org/10.3390/sym15010069
Submission received: 30 November 2022 / Revised: 10 December 2022 / Accepted: 21 December 2022 / Published: 26 December 2022
(This article belongs to the Special Issue Symmetry/Asymmetry: Differential Geometry and Its Applications)

Abstract

:
We present symbolic algorithms for computing the g-asymptotes, or generalized asymptotes, of a plane algebraic curve, C , implicitly or parametrically defined. The g-asymptotes generalize the classical concept of asymptotes of a plane algebraic curve. Both notions have been previously studied for analyzing the geometry and topology of a curve at infinity points, as well as to detect the symmetries that can occur in coordinates far from the origin. Thus, based on this research, and in order to solve practical problems in the fields of science and engineering, we present the pseudocodes and implementations of algorithms based on the Puiseux series expansion to construct the g-asymptotes of a plane algebraic curve, implicitly or parametrically defined. Additionally, we propose some new symbolic methods and their corresponding implementations which improve the efficiency of the preceding. These new methods are based on the computation of limits and derivatives; they show higher computational performance, demanding fewer hardware resources and system requirements, as well as reducing computer overload. Finally, as a novelty in this research area, a comparative analysis for all the algorithms is carried out, considering the properties of the input curves and their outcomes, to analyze their efficiency and to establish comparative criteria between them.

1. Introduction

This paper presents symbolic algorithms for determining the behavior at infinity of a plane algebraic curve, C , by determining the generalized asymptotes, or g-asymptotes, of its branches at points with sufficiently large coordinates, i.e., at the infinity points. This concept generalizes the classical concept of (line) asymptote and its calculation methods (see [1,2]).
Both notions, g-asymptotes and infinity branches, are essential tools that allow us to analyze the geometry and topology of a curve at infinity points, as well as detect symmetries that can occur in coordinates far from the origin, which is applicable to solving practical problems in many fields of science and engineering. Thus, it should be noted that rational algebraic curves have been an area of research [3,4,5,6] that appears in many fields, such as, for example, ancient and modern architectural designs, in number theory problems [7,8], in biological forms [9], in error correction codes [10,11,12] in route planning for robots [13], and in cryptographic algorithms [7,14,15,16,17], among many other applications. In addition, they have recently acquired additional practical importance in the area of Computer-Aided Geometric Design for airplanes, automobiles, and household appliances, which would be unthinkable without computational help and the development of effective methods for the manipulation of algebraic curves and also surfaces [18,19,20,21]. The parameterizations of these entities also play an important role in other aspects, such as line integral, representation, distribution of polynomial interpolation nodes [22], control theory [23], etc.
For this purpose, the pseudocodes of these algorithms are presented, as well as the corresponding implementations and a comparative analysis. We use the algebra software Maple.
To start with, Section 2 presents previous notions and explains the intuitive idea of perfect curve and g-asymptote. That is, given a curve C , a new curve C ˜ is said to be a g-asymptote of C if C ˜ is a curve of the smallest possible degree that approximates C at infinity (see [24]).
Based on these preliminaries, Section 3 presents the algorithms and pseudocodes which construct the generalized asymptotes from plane algebraic curves given by their implicit and parametric equations, considering the infinity branches that converge to the given curve. These pseudocodes are illustrated with examples that show the methods developed in this work, as well as the implementation programmed with the algebra system Maple, which are included in the Appendix C.
Thus, we present the pseudocodes and implementations of algorithms, based on previous studies that use the Puiseux series expansion to construct the g-asymptotes of a plane algebraic curve, implicitly or parametrically defined. Additionally, we propose some new symbolic methods and their corresponding implementations which improve the efficiency of the preceding research. These new methods are based on the computation of limits and derivatives, they show higher computational performance, demanding fewer hardware resources and system requirements, as well as reducing computer overload.
Accordingly, Section 4 presents, as a novelty in this research area, a comparative analysis for all the algorithms presented in this work, considering the properties of the input curves and their outcomes to analyze their efficiency and to establish comparative criteria between the algorithms.
For this purpose, we study several cases to observe the system overload, when Algorithm 1 or Algorithm 2 is executed (these two algorithms are based on the computation of the Puiseux series). However, for the parametric case, Algorithms 3 and 4 dramatically improve the efficiency of previous methods, since they are based on the computation of limits and derivatives. They show higher computational performance, requiring fewer hardware system resources available and a reduction in computer overload.
Algorithm 1 Computation of asymptotes of an implicit curve C
Require: C , plane algebraic curve defined by f ( x , y ) R [ x , y ]
Ensure: C ˜ i , i 1 , , k                         /* Asymptotes of C */
 1: F ( x , y , z ) P r o j e c t i v e C u r v e ( C )
 2: P 1 , , P m I n f i n i t y P o i n t s ( F ( x , y , 0 ) )
 3: g ( y , z ) F ( 1 , y , z )
 4: ϕ 1 ( z ) , , ϕ k ( z ) PuiseuxSeries ( g ( y , z ) , z = 0 , y )
 5: for all ϕ i of P j  do
 6:   r i ( z ) z ϕ i ( z 1 )
 7:   B i { ( z , r i ( z ) ) C 2 : z C , z > M i }         /* Definition 1 */
 8:   r ˜ i ( z ) m i z + a 1 , i z 1 n 1 , i / n i + + a k i , j z 1 n k i , i / n i    /* Equation (1) */
 9:   n i deg ( B i )
10:   P ˜ i ( t ) ( t n i , r ˜ i ( t n i ) ) C [ t ] 2             /* Equation (2) */
11: end for
12: return C ˜ i P ˜ i ( t ) C [ t ] 2 , i 1 , , k
Algorithm 2 Computation of asymptotes of a parametric curve C
Require: C , plane algebraic curve defined by
   P ( s ) ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) ,    /* Equation (3) */
   gcd ( p i 1 ( s ) , p i 2 ( s ) ) = 1 , i 1 , 2
Ensure: C ˜ i , i 1 , , k                     /* Asymptotes of C */
 1: P * ( s ) P r o j e c t i v e P a r a m e t r i z a t i o n ( P ( s ) )         /* Equation (4) */
 2: P 1 , P m I n f i n i t y P o i n t s ( P * ( s ) )
 3: 1 ( t ) , , k ( t ) P u i s e u x S e r i e s p 12 ( s ) t p 11 ( s ) = 0 , t = 0 , s
 4: for all 1 ( t ) of P j  do
 5:   r i ( z ) p 2 ( i ( z 1 ) ) C t , z t 1          /* Remark 1 */
 6:   B i { ( z , r i ( z ) ) C 2 : z C , z > M i }          /* Definition 1 */
 7:   n i d e g r e e ( B i )
 8:   r ˜ i ( z ) m i z + a 1 , i z 1 n 1 , i / n i + + a k i , j z 1 n k i , i / n i      /* Equation (1) */
 9:   P ˜ i ( t ) ( t n i , r ˜ i ( t n i ) ) C [ t ] 2 , i 1 , , k         /* Equation (2) */
10: end for
11: return C ˜ i P ˜ i ( t ) C [ t ] 2 , i 1 , , k
Algorithm 3 Computation of asymptotes of a parametric curve C with limits
Require: C , plane algebraic curve defined by
   P ( s ) ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) ,    /* Equation (3) */
   gcd ( p i 1 ( s ) , p i 2 ( s ) ) = 1 , i 1 , 2 ,    deg ( p i 1 ) deg ( p i 2 ) , i = 1 , 2 .
Ensure: C ˜ i , i 1 , , k                     /* Asymptotes of C */
 1: τ 1 τ l Roots ( p 12 ( s ) ) C
 2: n 11 n 1 l MultiplicityRoots ( p 12 ( s ) )
 3: ρ 1 ρ k Roots ( p 22 ( s ) ) C
 4: n 21 n 2 k MultiplicityRoots ( p 22 ( s ) )
 5: for all τ i { τ 1 τ l } do
 6:   if  p 22 ( τ i ) 0  then
 7:     P ˜ i ( t ) ( t , p 22 ( τ i ) ) C [ t ] 2          /* Horizontal Asymp. Corollary 1 */
 8:  else if  n 2 i 1  then
 9:     f n 2 i ( s ) p 2 ( s ) p 1 ( s ) n 2 i / n 1 i
10:     a n 2 i lim s τ i f n 2 i ( s )
11:    for  j n 2 i 1 , , 0  do
12:       f j ( s ) p 1 ( s ) 1 / n 1 i ( f j + 1 ( s ) a j + 1 )
13:       a j lim s τ i f j ( s )    /* Coeff. of the output parametrization. Theorem 1 */
14:    end for
15:     P ˜ i ( t ) ( t n 1 i , a n 2 i t n 2 i + a j t j + + a 0 t 0 ) C [ t ] 2
16:  end if
17: end for
18: for all ρ j { ρ 1 ρ k } & ρ j Roots ( p 12 ( s ) ) do
19:  if ρ j , p 12 ( ρ j ) 0  then
20:     P ˜ i ( t ) ( p 12 ( ρ j ) , t ) C [ t ] 2
21:     i i + 1                      /* Vertical Asymp. Corollary 1 */
22:  end if
23: end for
24: return C ˜ i P ˜ i ( t ) C [ t ] 2 , i 1 , , k
In Section 5, a comparative analysis of the previous algorithms is carried out. For this purpose, some properties of the input curves are considered, as well as their results when constructing the respective g-asymptotes of the input curves. Then, the efficiency of each algorithm is analyzed, and a comparative criteria regarding the time of use of the CPU from the simplest curve to the curve with the highest complexity is established.
Algorithm 4 Computation of asymptotes of a parametric curve C with derivatives
Require: C plane algebraic curve defined by
   P ( s ) ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = q i ( s ) / q ( s ) ,      /* Equation (6) */
   gcd ( q 1 ( s ) , q 2 ( s ) , q ( s ) ) = 1 , i 1 , 2 .
Ensure: C ˜ i , i 1 , , k                     /* Asymptotes of C */
 1: τ 1 τ k Roots(q(s)) C
 2: n 1 n k MultiplicityRoots ( q ( s ) )
 3: σ ( s ) q 2 ( s ) q 1 ( s )                         /* Theorem 2 */
 4: for all τ i { τ 1 τ k } do
 5:   q i ¯ ( s ) q ( s ) ( s τ i ) n i
 6:   ρ i ( s ) q 1 ( s ) q i ¯ 1 n i
 7:   a n i σ ( τ i )
 8:  for  j ( n i 1 ) , , 0  do
 9:     a j = 1 ( n j j ) ! · n i 1 j σ ( s ) s n i 1 j · ρ i ( n i j ) ( τ i )    /* Coeff. of the Parametrization */
10:  end for
11:   P ˜ i ( t ) ( t n i , a n i t n i + + a 0 t 0 ) C [ t ] 2
12: end for
13: return C ˜ i P ˜ i ( t ) C [ t ] 2 , i 1 , , k
Finally, the conclusions and lines of future work are presented. More precisely, we propose to generalize the study to curves defined by a nonrational parametrization, as well as to surfaces, and study the families of existing g-asymptotes. Moreover, we advance the idea that these methods could be extended to improve fuzzy-based algorithms.
We should point out that the novelties concerning previous works are based on the presentation of the symbolic algorithms and the pseudocode with the algebra system Maple to construct the asymptotes of a plane algebraic curve.

2. Preliminaries and Terminology

This section starts by introducing the notions of infinity branches, convergent branches, and approaching curves, derived from previous research (see [24,25]).
Let C be an irreducible plane algebraic curve defined in the affine space by an irreducible polynomial f ( x , y ) R [ x , y ] . Due to practical implications, the curve is assumed to be real and, therefore, the implicit polynomial is defined over R. Let C * be its corresponding projective curve defined by the homogeneous polynomial
F ( x , y , z ) = f d ( x , y ) + z f d 1 ( x , y ) + z 2 f d 2 ( x , y ) + + z d f 0 ( x , y ) R [ x , y , z ] ,
with d : = deg ( C ) , and let ( 1 : m : 0 ) , m C be the form of the points of infinity of C * (if the point of infinity ( 0 : 1 : 0 ) exists, a linear change in coordinates must be applied).
Under these conditions, starting from the curve defined by the polynomial g ( y , z ) = F ( 1 : y : z ) and calculating the Puiseux series, φ i , i = 1 deg y ( g ) from g ( y , z ) = 0 around z = 0 , we obtain the branches of C (see [24]). In the following, we denote as
φ ( t ) = m + a 1 t N 1 / N + a 2 t N 2 / N + a 3 t N 3 / N + , a i 0 , i N ,
with N i N , i = 1 , , and  0 < N 1 < N 2 < one of these series. Therefore, g ( φ ( t ) , t ) = 0 in a neighborhood of t = 0 where φ ( t ) converges.
Definition 1. 
An infinity branch of a plane algebraic curve C , at the infinity point P = ( 1 : m : 0 ) , m C , is the set B = { ( z , r ( z ) ) C 2 : z C , z > M } , where r ( z ) = z φ i ( z 1 ) = m z + a 1 z 1 N 1 / N + a 2 z 1 N 2 / N + a 3 z 1 N 3 / N + and M is some natural number.
Definition 2. 
Given two branches, B = { ( z , r ( z ) ) C 2 : z C , z > M } and B ¯ = { ( z , r ¯ ( z ) ) C 2 : z C , z > M ¯ } , we say that they are convergent if lim z ( r ¯ ( z ) r ( z ) ) = 0 .
Definition 3. 
Let C be a plane algebraic curve with an infinity branch B. We say that a curve D approaches C at the branch B, if  lim z d ( ( z , r ( z ) ) , D ) = 0 , i.e.,  d ( p , D ) = min { d ( p , q ) : q D } .
In [24], we show that if C is a plane curve with an infinity branch B, then a plane curve C ¯ approximates C into B, if and only if C ¯ has an infinity branch B ¯ such that B and B ¯ are convergent.
From the previous concepts, the definitions of perfect curve and generalized asymptote are obtained (see [24]).
Definition 4. 
A curve of degree d is a perfect curve if it cannot be approximated by any curve of degree less than d.
Note that a curve that is not perfect can be approximated by other curves of a lesser degree.
Definition 5. 
Let C be a plane algebraic curve with an infinity branch B. A curve, C ˜ , is a g-asymptote or generalized asymptote of C in B, if it is a perfect curve that approximates C in B.
Let C be a curve with a branch B = { ( z , r ( z ) ) C 2 : z C , z > M } , where r ( z ) = m z + a 1 z 1 N 1 / N + + a k z 1 N k / N + a k + 1 z 1 N k + 1 / N + , with coefficients a 1 , a 2 , C \ { 0 } , m C , N , N 1 , N 2 N , and  0 < N 1 < N 2 < .
Suppose that N k N < N k + 1 , i.e., the terms a j z 1 N j / N with j k + 1 have a negative exponent. In the following, we write
r ( z ) = m z + a 1 z 1 n 1 / n + + a k z 1 n k / n + a k + 1 z 1 N k + 1 / N +
with gcd ( N , N 1 , , N k ) = b N j = n j b , N = n b , j = 1 , , k . That is, we simplify the exponents such that gcd ( n , n 1 , , n k ) = 1 . Note that 0 < n 1 < n 2 < , n k n , and  N < n k + 1 , i.e., the terms a j z 1 N j / N with j k + 1 have negative exponents. The terms with non-negative exponent of r ( z ) are
r ˜ ( z ) = m z + a 1 z 1 n 1 / n + + a k z 1 n k / n .
Applying the change z = t n , we obtain a proper parametrization of a curve C ˜
P ˜ ( t ) = ( t n , m t n + a 1 t n n 1 + + a k t n n k ) C [ t ] 2 ,
where n , n 1 , , n k N , gcd ( n , n 1 , , n k ) = 1 , and  0 < n 1 < < n k , which is an asymptote of C (see [24]).

3. Symbolic Algorithms for the Computation of Generalized Asymptotes

In this section, we describe four algorithms that construct the parametrizations of the generalized asymptotes of the infinity branches of a curve C , all of them are described by corresponding pseudocode. Furthermore, we study the behavior and execution of the algorithms.
The next Subsection introduces Algorithm 1 which computes the g-asymptotes of a curve given by its implicit expression. Section 3.2, Algorithm 2 is applied to a parametrically given curve. Finally, the last two subsections show the improvement of Algorithm 2, with two new algorithms, Algorithms 3 and 4, that dramatically improve the previous results for the parametric case.

3.1. Algorithm for Curves Implicitly Defined

The following algorithm computes the parametrizations of the asymptotes of the infinity branches of the curve C , which is implicitly defined. It should be noted that the below algorithm was implemented with the mathematical software Maple (see Appendix C).
Example 1. 
Let C be a curve of degree d = 6 , defined by the irreducible polynomial f ( x , y ) = y 6 + 2 y 5 x + 3 x 2 + 4 x y R [ x , y ] . The points of infinity are P 1 = ( 1 : 0 : 0 ) and P 2 = ( 1 : 2 : 0 ) .
Iteration 1: 
Let P 1 = ( 1 : 0 : 0 ) .
We have the branch B 1 = { ( z , r 1 ( z ) ) C 2 : z C , z > M 1 } , with 
       r 1 ( z ) = 48 1 / 5 2 z 72 1 / 5 12 z 3 + 108 1 / 5 18 z 7 162 1 / 5 13 432 z 11 + .
       ( a ) r ˜ 1 ( z ) = 48 1 / 5 2 z . ( b ) P ˜ 1 ( t ) = t 5 , 48 1 / 5 2 t .
Iteration 2: 
Let P 2 = ( 1 : 2 : 0 ) .
We have the branch B 2 = { ( z , r 2 ( z ) ) C 2 : z C , z > M 2 } with
       r 2 ( z ) = 2 z 5 32 z 3 + .
       ( a ) r ˜ 2 ( z ) = 2 z . ( b ) P ˜ 2 ( t ) = ( t , 2 t ) .
Figure 1 represents the curve C and its generalized asymptotes C ˜ 1 and C ˜ 2 , defined by the parametrizations P ˜ 1 ( t ) and P ˜ 2 ( t ) , respectively.

3.2. Algorithm for Curves Parametrically Defined

Throughout this paper so far, we have dealt with algebraic plane curves implicitly defined. Now, we present a method to compute infinity branches and g-asymptotes of a plane curve from their parametric representation, without implicitizing. This method also involves the computation of Puiseux series and infinity branches (see [26]).
Let C be a plane curve defined by the parametrization
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) , g c d ( p i 1 , p i 2 ) = 1 , i = 1 , 2 .
If C * represents the projective curve associated to C , we have that a parametrization of C * is given by P * ( s ) = ( p 1 ( s ) : p 2 ( s ) : 1 ) or, equivalently,
P * ( s ) = 1 : p 2 ( s ) / p 1 ( s ) : 1 / p 1 ( s ) .
We assume that we prepared the input curve C through a suitable linear change in coordinates (if necessary), such that ( 0 : 1 : 0 ) is not a point at infinity of C * .
In order to compute the g-asymptotes of C , first we need to determine the infinity branches of C . That is, the sets
B = { ( z , r ( z ) ) C 2 : z C , z > M } , where r ( z ) = z φ ( z 1 ) .
Taking into account Definition 1, we have that f ( z , r ( z ) ) = F ( 1 : φ ( z 1 ) : z 1 ) = F ( 1 : φ ( t ) : t ) = 0 around t = 0 , where t = z 1 and F is the polynomial defining implicitly C * . Observe that, in this section, we are given the parametrization P * ( s ) of C * and then, F ( P * ( s ) ) = F 1 : p 2 ( s ) / p 1 ( s ) : 1 / p 1 ( s ) = 0 . Thus, intuitively speaking, in order to compute the infinity branches of C , and in particular the series φ , one needs to rewrite the parametrization P * ( s ) in the form ( 1 : φ ( t ) : t ) around t = 0 . For this purpose, the idea is to look for a value of the parameter s, say ( t ) C t , such that P * ( ( t ) ) = ( 1 : φ ( t ) : t ) around t = 0 .
Hence, from the above reasoning, we deduce that, first, we have to consider the equation 1 / p 1 ( s ) = t , or equivalently p 12 ( s ) t p 11 ( s ) = 0 , and we solve it in the variable s around t = 0 .
From Puiseux’s Theorem, there exist solutions 1 ( t ) , 2 ( t ) , , k ( t ) C t such that, p 12 ( i ( t ) ) t p 11 ( i ( t ) ) = 0 , i { 1 , , k } , in a neighborhood of t = 0 .
Thus, for each i { 1 , , k } , there exists M i R + such that the points ( 1 : φ i ( t ) : t ) or equivalently, the points ( t 1 : t 1 φ i ( t ) : 1 ) , where
φ i ( t ) = p 2 ( i ( t ) ) / p 1 ( i ( t ) ) ,
are in C * for t < M i (note that P * ( ( t ) ) C * , since P * ( ( t ) ) is a parametrization of C * ). Observe that φ i ( t ) is a Puiseux series, since p 2 ( i ( t ) ) and p 1 ( i ( t ) ) can be written as Puiseux series and C t is a field.
Finally, we set z = t 1 . Then, we have that the points ( z , r i ( z ) ) , where r i ( z ) = z φ i ( z 1 ) are in C for z > M i 1 . Hence, the infinity branches of C are the sets B i , such that B i = { ( z , r i ( z ) ) C 3 : z C , z > M i 1 } , i { 1 , , k } .
Remark 1. 
Note that the series i ( t ) satisfies that p 1 ( i ( t ) ) t = 1 , for  i { 1 , , k } . Then, from equality (5), we have that φ i ( t ) = p 2 ( i ( t ) ) p 1 ( i ( t ) ) = p 2 ( i ( t ) ) t , and r i ( z ) = z φ i ( z 1 ) = p 2 ( i ( z 1 ) ) .
Once we have the infinity branches, we can compute a g-asymptote for each of them by simply removing the terms with negative exponent from r i ( z ) .
The following algorithm computes the infinity branches of a given parametric curve and provides a g-asymptote for each of them. We also illustrate the algorithm with an example. The algorithm is implemented in Maple (see Appendix C).
Example 2. 
Let C be the plane curve defined by
P ( s ) = s 2 + 5 s ( s 1 ) ( s 2 ) 2 , s 2 + 3 s + 1 s ( s 2 ) R ( s ) 2 .
We apply Algorithm 2 to compute the asymptotes of C . We start by computing the Puiseux solutions of the equation p 12 ( s ) t p 11 ( s ) = 0 around t = 0 . We obtain:
1 ( t ) = 3475 256 t 3 + 25 8 t 2 5 4 t + .
2 ( t ) = 375800710285 2 254803968 t 7 / 2 233069 512 t 3 + 32580935 2 442368 t 5 / 2 409 16 t 2
+ 1909 2 384 t 3 / 2 19 8 t + .
3 ( t ) = 924 t 3 + 48 t 2 + 6 t + 1 + .
Iteration 1: 
Let 1 ( t ) = 3475 256 t 3 + 25 8 t 2 5 4 t + .
       r 1 ( z ) = 2 5 z 3 4 1 8 z 1 5335 256 z 2 +
      (a) r 1 ˜ ( z ) = 2 5 z 3 4 .             (b) P ˜ 1 ( t ) = t , 2 5 t 3 4 .
Iteration 2: 
Let 2 ( t ) = 233069 512 t 3 + 32580935 2 442368 t 5 / 2 409 16 t 2 + 1909 2 384 t 3 / 2 19 8 t + .
       r 2 ( z ) = 11 2 z 6 + 263 72 12409 2 3456 z + 241 16 z 155680499 2 3981312 z 3 / 2 + 116201 512 z 2 +
      (a) r 2 ˜ ( z ) = 11 2 z 6 + 263 72 .       (b) P ˜ 2 ( t ) = t 2 , 11 2 t 6 + 263 72 .
Iteration 3: 
Let 3 ( t ) = 924 t 3 + 48 t 2 + 6 t + 1 + .
       r 3 ( z ) = 5 30 z 1 456 z 2 9156 z 3 .
      (a) r 3 ˜ ( z ) = 5 .                (b) P ˜ 3 ( t ) = t , 5 .
The obtained asymptotes are the curves C ˜ 1 , C ˜ 2 , and C ˜ 3 defined by the proper parametrizations, P ˜ 1 ( t ) , P ˜ 2 ( t ) and P ˜ 3 ( t ) (see Figure 2).

3.3. Algorithm with Limits for Curves Parametrically Defined

As described previously, generalized asymptotes are a fundamental tool to analyze the behavior of a curve at infinity. In the two previous sections, two algorithmic solutions were presented, one for the case of implicitly defined planar algebraic curves and another for the case of parametric curves.
In both cases, the calculation of the g-asymptotes was carried out from the calculation of the infinity branches of the given curves by means of Puiseux series. Algorithm 1 calculates the g-asymptotes of an implicitly defined curve, while Algorithm 2 constructs these generalized asymptotes from the equation of the curve expressed in parametric way.
This subsection presents a method that improves the results of the previously mentioned algorithms, providing a more efficient computational solution, which can be applied to the case of plane algebraic curves expressed parametrically (see Algorithm 3). Furthermore, although this solution is developed for the case of plane algebraic curves, it can be trivially generalized to the case of rational curves defined in n-dimensional space. The idea of this generalization can be extended in more detail to the case of not necessarily rational curves.
For this purpose, we consider a plane rational curve, C , defined by a parameterization according to Equation (7):
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) , gcd ( p i 1 ( s ) , p i 2 ( s ) ) = 1 , i = 1 , 2 .
In the following, it is assumed without loss of generality that deg ( p i 1 ( s ) ) deg ( p i 2 ( s ) ) , deg ( p i 2 ( s ) ) = d i , i = 1 , 2 (otherwise, a linear change in variables is applied). With this, lim s p i ( s ) , i = 1 , 2 , and the infinity branches of C will be represented when the variable s moves around the different roots of the denominators p 12 ( s ) and p 22 ( s ) .
The following theorem shows how to obtain a g-asymptote for each of these infinity branches, by calculating the simple limits of rational functions built from P ( s ) .
Theorem 1. 
Let C be a curve defined by a parameterization (see Equation (7))
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) , gcd ( p i 1 ( s ) , p i 2 ( s ) ) = 1 , i = 1 , 2 ,
where deg ( p i 1 ( s ) ) deg ( p i 2 ( s ) ) = d i , i = 1.2 . Let τ C be such that p i 2 ( s ) = ( s τ ) n i p ¯ i 2 ( s ) where p ¯ i 2 ( τ ) 0 , i = 1.2 , and  n i 1 , and let B be the corresponding infinity branch. A g-asymptote of the curve C on the branch B is defined by the parameterization
P ˜ ( t ) = ( t n 1 , a n 2 t n 2 + a n 2 1 t n 2 1 + + a 0 ) ,
where
a n 2 = lim s τ i f n 2 ( s ) , f n 2 ( s ) = p 2 ( s ) p 1 ( s ) n 2 / n 1 a n 2 1 = lim s τ i f n 2 1 ( s ) , f n 2 1 ( s ) = p 1 ( s ) 1 / n 1 ( f n 2 ( s ) a n 2 ) a n 2 i = lim s τ i f n 2 i ( s ) , f n 2 i ( s ) = p 1 ( s ) 1 / n 1 ( f n 2 i + 1 ( s ) a n 2 i + 1 ) a 0 = lim s τ i f 0 ( s ) , f 0 ( s ) = p 1 ( s ) 1 / n 1 ( f 1 ( s ) a 1 )
Remark 2. 
From Theorem 1 we obtain the parameterization
P ˜ ( t ) = ( t n 1 , a n 2 t n 2 + a n 2 1 t n 2 1 + + a 0 )   a n d n 1 n 2
(otherwise, ( 0 : 1 : 0 ) would be an infinity point on the input curve).
Note that the degree of the resulting curve is not necessarily n 1 , since P ˜ ( t ) could be an improper parameterization, which is equivalent to gcd ( n 1 , n 2 , , n 2 j ) 0 for each j = 0 , , n 2 1 , such that a n 2 j 0 . Under these conditions, let gcd ( n 1 , n 2 , , n 2 j ) = β for each j = 0 , , n 2 1 , such that a n 2 j 0 . So, if  n : = n 1 / β , then  
M ( t ) = P ˜ ( t 1 / β ) = ( t n , a n 2 t n 2 / β + a n 2 1 t ( n 2 1 ) / β + + a 0 ) K [ t ] 2 ,
a proper reparametrization of P ˜ ( t ) (see ([27] Section 3)).
The following corollary discusses the special case of vertical and horizontal g-asymptotes, that is, lines of the form x a or y b , where a , b C . More precisely, it is proved that these asymptotes are obtained from the noncommon roots of the denominators of a given parameterization. It should be noted that, in practical engineering design and application modeling, rational curves are normally represented by numerical coefficients and, in general, P ( s ) satisfies that gcd ( p 12 ( s ) , p 22 ( s ) ) = 1 , which implies that the mentioned case usually arises in practical problems.
Corollary 1. 
Let C be a curve defined by a parameterization (see Equation (7))
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) , gcd ( p i 1 ( s ) , p i 2 ( s ) ) = 1 ,
where deg ( p i 1 ( s ) ) deg ( p i 2 ( s ) ) , i = 1.2 .
1. 
Let τ C be such that p 12 ( t ) = ( t τ ) n 1 p ¯ 12 ( t ) where p 22 ( τ ) p ¯ 12 ( τ ) 0 and n 1 1 . An asymptote of C , corresponding to the point of infinity ( 1 : 0 : 0 ) , is the horizontal line y p 2 ( τ ) = 0 defined by the parameterization P ˜ ( t ) = ( t , p 2 ( τ ) ) .
2. 
Let τ C be such that p 22 ( t ) = ( t τ ) n 2 p ¯ 22 ( t ) where p 12 ( τ ) p ¯ 22 ( τ ) 0 and n 2 1 . An asymptote of C , corresponding to the point of infinity ( 0 : 1 : 0 ) , is the vertical line x p 1 ( τ ) = 0 defined by the parameterization P ˜ ( t ) = ( p 1 ( τ ) , t ) .
As stated previously, Algorithm 3 improves the results of the methods described above, especially with regard to Algorithm 2, showing a clear improvement in efficiency and reducing the amount of hardware resources required of the computer when constructing the asymptotes of a parametric curve using limits (instead of using the Puiseux series expansion). Algorithm 3 is implemented in Maple (see Appendix C).
Example 3. 
Let C be the plane algebraic curve defined by the parameterization
P ( s ) = 4 ( s 2 + 1 ) s 2 ( s 2 ) 3 , 2 s 2 + 2 s 1 s 2 ( s 2 ) 2 R ( s ) 2 .
We apply Algorithm 3. Then, we compute the roots of p 12 ( s ) which are τ 1 = 0 and τ 2 = 2 , with multiplicities n 11 = 2 and n 12 = 3 , respectively. The multiplicities of these roots in p 22 ( s ) are n 21 = 2 and n 22 = 2 .
Root 
τ 1 = 0 :It is obtained that:
  • There is no horizontal asymptote.
  • The parameterization coefficients, considering the multiplicities n 11 = 2 and n 21 = 2 , are:
    • a 2 = lim s 0 f 2 ( s ) = 1 2 ,     f 2 ( s ) = p 2 ( s ) p 1 ( s ) .
    • a 1 = lim s 0 f 1 ( s ) = 5 2 i 8 , f 1 ( s ) = p 1 ( s ) 1 / 2 ( f 2 ( s ) a 2 ) .
    • a 0 = lim s 0 f 0 ( s ) = 31 32 ,     f 0 ( s ) = p 1 ( s ) 1 / 2 ( f 1 ( s ) a 1 ) .
  • The parameterization P ˜ 1 ( t ) = t 2 , 1 2 t 2 + 5 2 i 8 t + 31 32 is proper (see Remark 2).
Root 
τ 2 = 2 :It is obtained that:
  • There is no horizontal asymptote.
  • The coefficients of the proper parameterization, considering the multiplicities n 12 = 3 and n 22 = 2 , are:
    • a 2 = lim s 2 f 2 ( s ) = 11 5 1 / 3 20 ,    f 2 ( s ) = p 2 ( s ) p 1 ( s ) 2 / 3 .
    • a 1 = lim s 2 f 1 ( s ) = 7 5 2 / 3 300 ,    f 1 ( s ) = p 1 ( s ) 1 / 3 ( f 2 ( s ) a 2 ) .
    • a 0 = lim s 2 f 0 ( s ) = 77 400 ,     f 0 ( s ) = p 1 ( s ) 1 / 3 ( f 1 ( s ) a 1 ) .
  • The parameterization P ˜ 2 ( t ) = t 3 , 11 5 1 / 3 20 t 2 + 7 5 2 / 3 300 t + 77 400 is proper (see Remark 2).
Finally, we observe that there are no vertical asymptotes. Consequently, the  asymptotes are the curves C ˜ 1 and C ˜ 2 defined by the proper parameterizations:
P ˜ 1 ( t ) = t 2 , 1 2 t 2 + 5 2 i 8 t + 31 32 , P ˜ 2 ( t ) = t 3 , 11 5 1 / 3 20 t 2 + 7 5 2 / 3 300 t + 77 400 .
Figure 3 plots the curve C and the asymptotes C ˜ 1 and C ˜ 2 .

3.4. Algorithm with Derivatives for Curves Parametrically Defined

In this subsection, a method is developed that allows calculating all the g-asymptotes and branches of a plane algebraic curve defined by a parameterization by determining some derivatives of univariate functions constructed from the input parameterization. For this purpose, we consider the plane algebraic curve, C , defined by the parameterization,
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = q i ( s ) / q ( s ) , gcd ( q 1 ( s ) , q 2 ( s ) , q ( s ) ) = 1 , i = 1 , 2 .
It is assumed that all roots of the denominators can be written as τ C , such that q ( s ) = ( s τ ) n q ¯ ( s ) , where q ¯ ( τ ) q 1 ( τ ) 0 and n 1 . Otherwise, it would be considered a linear change in coordinates, which would have to be undone later.
Theorem 2. 
Let C be a curve defined by the parameterization
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = q i ( s ) / q ( s ) , gcd ( q 1 ( s ) , q 2 ( s ) , q ( s ) ) = 1 , i = 1 , 2 .
Let τ C be such that q ( s ) = ( s τ ) n q ¯ ( s ) , where q ¯ ( τ ) q 1 ( τ ) 0 and n 1 . Let
σ ( s ) : = q 2 ( s ) q 1 ( s ) y ρ ( s ) : = q 1 ( s ) q ¯ ( s ) 1 / n .
Let B be the corresponding infinity branch. A g-asymptote of B is defined by the parameterization
P ˜ ( t ) = ( t n , a n t n + a n 1 t n 1 + + a 0 ) ,
where a n = σ ( τ )
and for 0 i n 1 ,    a i = 1 ( n i ) ! · n 1 i s n 1 i σ s ( s ) · ρ ( s ) ( n i ) ( τ )
Remark 3. 
From Theorem 2, we obtain the parameterization
P ˜ ( t ) = ( t n , a n t n + a n 1 t n 1 + + a 0 ) ,
where a n = σ ( τ ) and for 0 i n 1 ,
a i = 1 ( n i ) ! · n 1 i s n 1 i σ s ( s ) · ρ ( s ) ( n i ) ( τ ) .
Note that the degree of the resulting curve is not necessarily n, since P ˜ ( t ) could be an improper parameterization, which is equivalent to gcd ( n , , n j ) 0 for each j = 0 , , n , such that a n 0 .
Therefore, we have that gcd ( n , , n j ) = β for each j = 0 , , n such that a n j 0 . We have that M ( t ) = P ˜ ( t 1 / β ) is a proper reparameterization of P ˜ ( t ) (see ([27] Section 3)).
Next, Algorithm 4 is introduced. It performs the calculation of the asymptotes of a plane algebraic curve, expressed in parametric form, applying the results of the Theorem 2. This algorithm is implemented in Maple (see Appendix C).
Example 4. 
Let C be the plane curve defined by the parameterization
P ( s ) = s 4 s 3 + 5 s 2 + 2 s + 1 s 4 ( s 1 ) ( s 2 ) , 2 s 4 3 s 3 2 s 2 26 s 18 s 4 ( s 1 ) ( s 2 ) R ( s ) 2 .
We compute the asymptotes of C using Algorithm 4. For this purpose, it is first observed that p ( s ) has the roots τ 1 = 0 , τ 2 = 1 , τ 3 = 2 , with multiplicities n 1 = 4 n 2 = 1 and n 3 = 1 . Let
σ ( s ) = 2 s 4 3 s 3 2 s 2 26 s 18 s 4 s 3 + 5 s 2 + 2 s + 1 .
Root 
τ 1 = 0 :We have ρ 1 ( s ) = ( ( s 4 s 3 + 5 s 2 + 2 s + 1 ) ( s 2 ) 3 ( s 1 ) 3 ) 1 / 4 ( s 2 ) ( s 1 ) .
  • The parameterization coefficients are calculated, knowing that the multiplicity of τ 1 is n 1 = 4 .
    • a 4 = σ ( 0 ) = 18 .
    • a 3 = σ s ( 0 ) · ρ 1 ( 0 ) = 5 · 8 1 / 4 .
    • a 2 = 1 2 ! · s σ s ( s ) · ρ 1 ( s ) 2 ( 0 ) = 307 2 8 .
    • a 1 = 1 3 ! · 2 s 2 σ s ( s ) · ρ 1 ( s ) 3 ( 0 ) = 4317 · 8 3 / 4 512 .
    • a 0 = 1 4 ! · 3 s 3 σ s ( s ) · ρ 1 ( s ) 4 ( 0 ) = 1251 32 .
  • Parameterization P ˜ 1 ( t ) = t 4 , 18 t 4 + 5 · 8 1 / 4 t 3 + 307 2 8 t 2 4317 · 8 3 / 4 512 t 1251 32 is proper (see Remark 3).
Roots 
τ 2 = 1 :We have that ρ 2 ( s ) = s 4 s 3 + 5 s 2 + 2 s + 1 s 4 ( s 2 ) .
  • The parameterization coefficients are calculated, knowing that the multiplicity of τ 2 is n 2 = 1 .
    • a 1 = σ ( 1 ) = 47 8 .
    • a 0 = σ s ( 1 ) · ρ 2 ( 1 ) = 363 8 .
  • The parameterization P ˜ 2 ( t ) = t , 47 8 t 363 8 is proper (see Remark 3).
Root 
τ 3 = 2 :We have that ρ 3 ( s ) = s 4 s 3 + 5 s 2 + 2 s + 1 27 s 4 ( s 1 ) .
  • The parameterization coefficients are calculated, knowing that the multiplicity of τ 3 is n 3 = 1 .
    • a 1 = σ ( 2 ) = 70 33 .
    • a 0 = σ s ( 2 ) · ρ 2 ( 2 ) = 457 2376 .
  • The parameterization P ˜ 3 ( t ) = t , 70 33 t + 457 2376 is proper (see Remark 3).
Then, the asymptotes C ˜ 1 , C ˜ 2 and C ˜ 3 are defined by the proper parametrizations:
P ˜ 1 ( t ) = t 4 , 18 t 4 + 5 · 8 1 / 4 t 3 + 307 2 8 t 2 4317 · 8 3 / 4 512 t 1251 32 ,
P ˜ 2 ( t ) = t , 47 8 t 363 8 , P ˜ 3 ( t ) = t , 70 33 t + 457 2376 .
Figure 4 plots the curve C and the asymptotes C ˜ 1 , C ˜ 2 , and C ˜ 3 . Furthermore, it illustrates in detail the behavior of each asymptote.
To finish this section, we note that Theorem 2 can be adapted to calculate the associated coefficients to terms with a negative exponent. In this way, in addition to the asymptotes, the branches of a plane algebraic curve can be calculated. One may reason analogously with the case of limits.

4. Analysis of the Computational Performance

This section discusses the performance of the previous algorithms, which construct the g-asymptotes from an irreducible plane algebraic curve. We recall that the first algorithm calculates the g-asymptotes of a curve from its implicit expression, considering the infinity branches that converge to the given curve. The other three methods deal with the case of parametrically defined curves. Note that the first two algorithms are based on the computation of the Puiseux series.
For this purpose, fourteen study cases were randomly selected with different characterizations (see Appendix B). All these curves constitute the study cases to analyze the computational performance of the algorithms presented in Section 3, which were programmed with the algebra system Maple, according to the implementation presented in Appendix C for implicit and parametric input expressions.
Under these conditions, an analysis of the computational performance of each one of the algorithms presented was carried out (based on the outlines of [28,29,30,31] to validate the performance of algorithms). The hardware overload degree of the machine resources (CPU and memory) was computed, estimating the time of use of the microprocessor and the amount of memory used for the execution of each one of the procedures defined in Appendix C. In addition, the value of real time invested by the machine was calculated for the methods presented in Section 3.
To quantify these results, it is necessary to use the tools provided by the CodeTools package of Maple. Thus, it is important to clarify that the command CodeTools:-Usage differentiates between the CPU time and the execution real time of a process. Thus, CPU time is the amount of time used to execute a procedure. On the other hand, the real execution time calculates the period during which the process remains in the system, from the time it is launched until it is finished, that is, the entire amount of time in which it is using the hardware resources of the system: CPU, memory, input/output, and so on.
Note that on monoprocessor systems, the total CPU usage time will always be less than the real execution time. However, on multiprocessor systems, threads could be spread across multiple cores or CPUs. In this case, the sum of all the usage times of the multiple cores, or processors, is considered as the total CPU usage time, and thus can account for the case that it is greater than the real execution time of the process.
To calculate a precise overload degree, each algorithm under analysis was iterated one hundred times for each one of the study curves. Consequently, it was possible to record reliable results on the system requirements, which are necessary to calculate the asymptotes of a given curve. The comparative criteria are based on the different properties of the input curves, such as the degree and the number of terms, as well as the following results obtained after each execution: number of infinity branches, highest degree of the analyzed asymptotes, number of real asymptotes, and number of complex asymptotes.
It is important to underline that Algorithm 1 and Algorithm 2 compute the infinity branches of the input curve by Puiseux series expansion, using the command algcurves:-puiseux from the algebra software Maple, with the desired accuracy fixed to ten for the calculation of the Puiseux series expansions.
From a hardware point of view, the processes were executed by a 2018 Mac Book Pro, with an Intel Core i5 processor, with four cores 2.3 GHz, 16 GiB of 2133 MHz LPDDR3 memory, Intel Iris graphics card Plus 1536 MiB Graphics 655, and 500 GiB SSD. The computer algebra software Maple 2021.1 was run on the operating system macOS Monterrey, version 12.3.1.
The following subsections present the analysis of the results obtained after the application of the methods developed for the calculation of the asymptotes of plane algebraic curves, each of them with a different characterization. Finally, in Section 5 a comparative analysis of the algorithms is carried out.

4.1. Computation of Asymptotes of Implicitly Algebraic Curves

This subsection presents the results of running Algorithm 1 one hundred times, with accuracy equal to ten for the Puiseux series expansion, on the fourteen curves presented in Appendix B. We compute the implicit polynomial of a parametric curve using resultants (see [32]).
Table 1 shows the properties for the input curves and their asymptotes. The curve with the highest degree and the highest number of terms is C 3 . In this case, one may check that the asymptotes have degrees 1 and 3, much lower than the degree of C 3 , which is 17.
We observe that the curve C 4 is the only one with the lowest degree and the fewest number of terms. This curve has two infinity branches and the highest degree of the asymptote is 2.
Table 2 shows that the curve C 3 requires the longest execution time and generates the highest overhead in the microprocessor and memory when Algorithm 1 is run. Note that the highest consumption of hardware resources corresponds to the running of the algorithm with this curve, which is the one with the highest degree and the highest number of terms. In this case, the execution consumes 283.47 ms of real time in the system and requires 362.72 ms of CPU usage and 10.55 MiB of memory.
It is convenient to highlight the results concerning the curves C 12 and C 13 of degrees 13 and 9, respectively. Algorithm 1 presented the highest performance, and the obtained asymptotes has a degree of 2. In particular, the curve C 12 has six complex asymptotes and one real linear asymptote.
In a direct method, in order to compute the complex asymptotes, one would introduce algebraic numbers during the computations. However, for these cases, we collect the points whose coordinates depend algebraically on all the conjugate roots of a same irreducible polynomial, m ( t ) R [ t ] . This method is based on the notion of family of conjugate points (see e.g., [32]). This concept allows us to determine the asymptotes of a curve without directly introducing algebraic numbers in the computations.
Finally, results for the curve C 13 of degree 9 show three real linear asymptotes and two complex asymptotes. Similarly, as in the previous curve, we have to collect the points whose coordinates depend algebraically on all the conjugate roots of a same irreducible polynomial m ( t ) R [ t ] .
Thus, regarding the use of resources, Table 2 shows that curve C 3 requires the highest resources from the system, and it produces the most overload on the microprocessor and memory, while curves C 12 and C 13 require the least amount of system resources.
Finally, it is convenient to highlight the particularities of the curves C 12 and C 13 . Note that, in both cases, the algorithm used the least amount of time to calculate the respective asymptotes of both curves. Furthermore, the highest degree of the asymptotes constructed with Algorithm 1 is 2, much lower than the 13 and 9 degrees of the input curves C 12 and C 13 , respectively.

4.2. Computation of Asymptotes of Parametric Algebraic Curves

This subsection presents the results obtained by executing the methods described in Appendix C, with an accuracy equal to ten for the Puiseux series expansion. We consider the parametric curves defined in Appendix B, given according to Equation (7):
P ( s ) = ( p 1 ( s ) , p 2 ( s ) ) R ( s ) 2 , p i ( s ) = p i 1 ( s ) / p i 2 ( s ) , gcd ( p i 1 ( s ) , p i 2 ( s ) ) = 1 , i = 1 , 2 .
Table 3 shows the same results as the implicit case, except for the # Terms row.
Table 4 shows that, for the case of curves expressed in parametric form, Algorithm 2 presents a lower efficiency than Algorithm 1. In most cases, this algorithm produces a higher system overhead and requires more hardware resources. Thus, it can be seen that Algorithm 2 generates the highest real execution times, requiring a greater time of use of the microprocessor and a bigger memory capacity for all the study cases.
The greatest hardware resource requirements correspond to the calculation of the asymptotes of the curves C 3 and C 11 , where the algorithm needed more than 24 h of CPU usage and more than 100 GiB of memory.
Moreover, the execution of the algorithm with the input curve C 13 requires 17 s of real time, 23 s of microprocessor usage time, and 2.55 GiB of memory; which contrasts sharply with applying Algorithm 1 to the implicit curve C 13 , with a real execution time of 6.88 ms, 7.13 ms of CPU usage and 602.33 KiB of memory.
On the other hand, it is interesting to note that the application of Algorithm 2 for the calculation of the asymptotes of the curve C 4 presents the least degree of overload, even compared with the application of Algorithm 1 to the case of the implicit curve C 4 .
However, if these results are compared with those of Table 2, it is observed that as the complexity of the curve increases, the CPU usage time, the real execution time, and the memory needs increase exponentially.

4.3. Computation of Asymptotes of Parametric Algebraic Curves with Limits

Table 5 shows the results of executing Algorithm 3 to construct the asymptotes of the curves in Appendix B, from the parametric expressions. Note that this result is the same as the one in Table 3.
Table 6 allows us to review the degree of overload that this algorithm produces in the system.
Table 6 shows a greater general efficiency in managing the computer’s memory than Algorithms 1 and 2. Improvements are also observed in the times of CPU usage and real stay in the system, highlighting the behavior of the curves C 3 and C 9 .
The first case, the curve C 3 , corresponds to the curve for which Algorithm 3 required the greatest real time and generated the greatest overload in the microprocessor with the greatest need for memory. However, in this case, the resource usage is much lower than the previous results of Table 2 and Table 4, with only 62.82 ms residence time in the system, 59.25 ms of CPU usage, and 1.21 MiB of memory.
In the second case, the curve C 9 , the lowest overhead was obtained with only 6.48 ms of real time in the system, 5.92 ms of CPU usage, and 0.5 MiB of memory. Thus, this curve, of degree five, shows the least degree of overload when constructing its two real asymptotes with Algorithm 3.

4.4. Computation of Asymptotes of Parametric Algebraic Curves with Derivatives

Table 7 shows the results of executing Algorithm 4 to construct the curve asymptotes of Appendix B, using some derivatives of univariate functions. Note that this result is consistent with that of Table 3 and Table 5.
Table 8 shows the degree of overload that this algorithm produces in the system. In this case, a very significant improvement is presented with respect to the previous cases, Algorithms 1–3.
In almost all the input curves, except for the case of C 11 , the use of hardware resources, time of use of the microprocessor, time of real stay in the system, and memory capacity, show the highest efficiency.
The exception occurs for the case of the construction of the asymptotes of the curve C 11 , which requires more memory, more CPU time, and stays longer in the system than for the case of Algorithm 3.
Note that the best performance is obtained by constructing the curve asymptotes of the simplest curve, C 4 , with only 2.55 ms processor usage, 2.68 ms of permanence in the system, and 223.10 KiB of memory capacity. The curve that generates the greatest overload is C 11 , which requires 50 ms of CPU, with a real time of 48.29 ms and 7.27 MiB of memory.
We briefly analyze the particular case of the asymptotes obtained for the curve C 11 . This curve has a complex asymptote of degree five and two real asymptotes of degrees three and two. Similarly as above, in this case, we need to introduce conjugate points, that is, we collect the points whose coordinates depend algebraically on all the conjugate roots of a same irreducible polynomial, m ( t ) R [ t ] . Note that working with the conjugate points of the complex asymptote introduces the greatest degree of overhead.

5. Results and Discussion

In this section, a comparative analysis of Algorithms 1–4 is presented. For this purpose, some properties of the input curves are considered, as well as the results obtained when constructing the respective asymptotes (see Appendix B).
Table 9 allows to review the efficiency of each algorithm and establishes comparative criteria regarding the time of use of the CPU from the simplest curve that is, the one with the lowest degree and the fewest number of terms, C 4 , with respect to the curve of greater complexity, C 3 .
Table 9 compares the CPU usage times after the execution of each of the four algorithms used for the construction of asymptotes of the curves C 1 C 14 . The worst results are highlighted in red, and the five best CPU usage times are highlighted in green, given mainly when Algorithm 4 constructs the asymptotes of the curves C 4 , C 8 , C 9 , and C 14 .
Figure 5 represents the behavior of each of the algorithms, depending on the degree of the input curve (axis x), with respect to the CPU usage time (axis y) expressed in milliseconds. Note that this is a linear–logarithmic plot, based on 10, in which the trend lines are exponential.
Analyzing Algorithm 4, the highest efficiency is observed, since it requires the least amount of CPU usage time. Likewise, it is also shown that, for all algorithms, the degree of the curve determines the microprocessor time needed to build the asymptotes.
On the other hand, it is noteworthy that although Algorithm 2 behaves well with simple curves (see curve C 6 in Table 9), CPU usage time increases exponentially as the degree of the input curve increases (see curves C 3 and C 11 in Table 9).
Figure 6 shows how as the number of terms of the input curve increases the CPU time needed to execute Algorithm 3. However, the density of the input curve seems to affect the efficiency of the rest of the algorithms analyzed to a lesser extent. Note that, in this case, Algorithm 1 is not evaluated. This is due to the fact that the implicit case does not allow establishing a comparative criterion with the rest of the algorithms in what refers to the density of the input curve.
On the other hand, the same thing happens in Figure 7. Algorithm 2 requires more CPU time in cases where a high number of branches is observed (remember that trend lines are exponential). However, it does not seem that the number of branches determines the time of use of the microprocessor in the case of the other algorithms represented.
Figure 8 shows the CPU time required by each algorithm, as a function of the highest degree of the asymptotes, of each of the input curves. It can be seen that Algorithm 4 is the one that, in general, presents the highest efficiency, since it requires the least amount of CPU time.
Likewise, it is also shown that Algorithm 2 has a quite disparate behavior, since it does not seem that the degree of the asymptotes affects the CPU usage time for this algorithm.
Table 10 shows the real time it takes to execute each algorithm for each of the curves, with results very similar to those obtained in Table 9, which is quite logical because both times are related.
We recall that real time refers to the period from when the process starts until it ends, that is, the time it remains in the system. Note that, in some cases, this time is less than the microprocessor usage time, because the Maple computer algebra software executes on a multicore system. In this case, the CPU usage time is the sum of all the usage times of the different microprocessor cores. This sum is what determines the total CPU value given in Table 9.
In Table 10, the worst global results are highlighted in red, and they correspond to Algorithm 2, executed with the input curves C 3 and C 11 . In addition, the five best CPU usage times are shown in green, and they correspond to Algorithm 2, executed with the input curve C 6 and when the asymptotes of the curves C 4 , C 8 , C 9 , and C 14 are determined with Algorithm 4.
It can be verified that these results show an efficiency similar to that obtained when CPU usage time is computed (see Table 9).
Finally, Table 11 allows comparing the memory needs of the analyzed algorithms. The worst results are highlighted in red, and the five best CPU usage times are highlighted in green. These times correspond to Algorithm 4 when constructing the asymptotes of the curves C 4 , C 7 , C 8 , C 9 , and C 14 .
With this hardware resource, the algorithm that marks the best results is Algorithm 4, followed by Algorithms 1 and 3. However, for the case of Algorithm 2, the hardware memory requirements grow exponentially with the degree of the input curve and the number of terms of the input curve.
Figure 9 and Figure 10 reflect the behavior of each of the algorithms considering the parameters of the input curve regarding memory.
For the analysis of these figures, we remark that the y-axis is logarithmic, base 10, and that the trend lines are exponential.
On the other hand, looking at Figure 11, it does not seem that the number of branches is a determining condition for memory needs in the case of the analyzed algorithms. The same happens in Figure 12. In both cases, it can be seen that Algorithm 4 is the one that, in general, presents the highest efficiency with the least amount of memory needed to be able to execute it. However, Algorithm 2 has quite disparate behavior, since neither the number of branches nor the highest degree of the asymptotes seems to determine the memory requirements to execute the algorithm. For example, it can be seen that for asymptotes whose maximum degree is two, the memory needs can range between 276.03 KiB for the curve C 4 and 2.59 GiB for the curve C 12 .
Finally, it can be stated that Algorithm 4 is the one that presents the best computational performance, requiring the least amount of hardware resources: CPU time, real execution time, and amount of memory. Likewise, it is also shown that, for all algorithms, the degree of the curve is the parameter that determines, to a greater extent, the amount of system resources needed to build the asymptotes.
On the other hand, it is noteworthy that Algorithm 2 has a good behavior with “simple” curves’ see the values for the case of the curves C 4 and C 6 in Table 9, Table 10 and Table 11. However, it is a very “heavy” algorithm when the degree of the input curve increases and the number of terms increases, in which case the hardware needs of said algorithm increase exponentially (see curves C 3 and C 11 in the tables above).
The results of this evaluation show how the Algorithms 3 and 4, additionally to improving the degree of system overload, are more efficient than Algorithms 1 and 2, mainly highlighting the results of Algorithm 4.
On the other side, Algorithm 2 is the one that requires the most resources, generating the greatest overhead in the system, mainly due to the complexity introduced by the computation of the Puiseux series. In addition, the higher the precision for obtaining the series, the greater memory capacity and longer execution time the process requires.
After carrying out this analysis, we have the following conclusions regarding the main aspects that determine the greatest overload in the system, when the g-asymptotes of a given curve are constructedwith: the degree of the input curve, the number of terms of the input curve, and the degree of complex asymptotes.
On the other hand, it was observed that the precision applied when performing the Puiseux series expansion determines the memory capacity needed by the process. At higher precision, the memory requirement grows exponentially and, also, although to a lesser extent, the CPU time and the real execution time.
These results support the idea that the proposed methods can be used effectively for solving large-scale problems, without the high computational resource utilization requirements imposed by previous methods based on the development of Puiseux series. In particular, Algorithms 3 and 4 improve the efficiency of the previous methods (Algorithms 1 and 2), showing higher computational performance, requiring fewer hardware resources, and considerably reducing the degree of computer overload.

6. Conclusions and Future Works

The g-asymptotes determine the behavior of a curve at infinity. The importance of these entities is clear for, for instance, plotting the graph of the input curve, studying the topology, or giving some ideas to deal with some numerical problems. In addition, using these mathematical objects, predictive or trend calculation models can be established, which could improve, for instance, results of simple linear regression.
As future work, it is proposed to generalize these results to curves defined by a nonrational parametrization (see [25]), as well as to surfaces, and to study the families of existing asymptotes.
Furthermore, we think that as future works, these methods could satisfactorily be extended to enhanced fuzzy-based algorithms, interval environment or shortest path problem solving (see for instance [33,34,35]).
Although this article computes “real” performance and the system overload of the algorithms proposed, the point we wish to make here is the importance of time complexity, which is difficult to compute exactly. Nevertheless, we estimated some preliminary results that confirm the analytical discussion presented in this article, where the time complexity to calculate the Puiseux series is too high (see [36]) compared with the calculation of limits or derivatives (see [37]), even if they are of different orders.
Our main objective is to propose methods that can be used effectively to solve large-scale problems, including real-world cases and symmetry issues, without the high computational requirements.

Author Contributions

Conceptualization, S.P.-D. and M.F.d.S.; methodology, E.C.-M.; software, E.C.-M.; validation, J.R.M.B. and S.P.-D.; formal analysis, M.F.d.S.; investigation, S.P.-D.; resources, J.R.M.B.; data curation, E.C.-M.; writing—original draft preparation, E.C.-M.; writing—review and editing, S.P.-D.; visualization, J.R.M.B.; supervision, S.P.-D.; project administration, M.F.d.S.; funding acquisition, S.P.-D. All authors have read and agreed to the published version of the manuscript.

Funding

The author S. Pérez-Díaz is partially supported by Ministerio de Ciencia, Innovación y Universidades—Agencia Estatal de Investigación/PID2020-113192GB-I00 (Mathematical Visualization: Foundations, Algorithms and Applications). The author R. Magdalena Benedicto is partially supported by the State Plan for Scientific and Technical Research and Innovation of the Spanish MCI (PID2021-127946OB-I00).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The author S. Pérez-Díaz is partially supported by Ministerio de Ciencia, Innovación y Universidades—Agencia Estatal de Investigación/PID2020-113192GB-I00 (Mathematical Visualization: Foundations, Algorithms and Applications). The author R. Magdalena Benedicto is partially supported by the State Plan for Scientific and Technical Research and Innovation of the Spanish MCI (PID2021-127946OB-I00). The author S. Pérez-Díaz belongs to the Research Group ASYNACS (Ref. CCEE2011/R34).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

In the following Appendices, we present the parametric curves used in the study of the algorithms presented in the previous sections and the pseudocode for the algebra system Maple of the algorithms presented in this paper to construct the asymptotes of plane algebraic curves.

Appendix B. Definition of Parametric Curves

  • P 1 ( s ) : = s 2 + 1 s 3 s + 1 s 2 1 2 , 2 s 3 + 5 s 2 + 1 s 5 2 s 3 + s 2 + s 1 .
  • P 2 ( s ) : = 10 · s 3 1 · s 2 s 2 1 2 · s 2 3 , s 3 + s 2 + 3 s 2 2 · s 2 1 .
  • P 3 ( s ) : = s 8 + 2 s 4 s 2 s 1 s 2 + 1 4 · s 2 + 2 3 · s 3 , s 7 + s 6 s 5 + s 2 + 1 s 2 + 2 3 · s .
  • P 4 ( s ) : = 5 + s 2 s · s 2 2 , s 2 + 3 s + 1 s · s 2 .
  • P 5 ( s ) : = s 4 s 3 + 5 s 2 + 2 s + 1 s 4 · s 1 · s 2 , 2 s 4 3 s 3 2 s 2 26 s 18 s 4 · s 1 · s 2 .
  • P 6 ( s ) : = s 3 + 2 s 1 s 2 1 · s 2 2 , 2 s 3 + s 2 + 1 s 2 · s 2 1 .
  • P 7 ( s ) : = s 3 + 2 s 1 s 1 · s 2 3 , 2 s 3 + s 2 + 1 s 2 2 · s 1 .
  • P 8 ( s ) : = 4 · s 2 + 1 s 2 · s 2 3 , 2 · s 2 + 2 · s 1 s 2 · s 2 2 .
  • P 9 ( s ) : = 2 · s 2 9 s 2 · s + 3 3 , s 2 + s 1 s 2 .
  • P 10 ( s ) : = s 3 + 2 s 1 s 2 + 1 2 · s 2 3 , 2 s 3 + s 2 + 1 s 2 2 · s 2 + 1 .
  • P 11 ( s ) : = s 5 + 2 s 2 + s 1 s 2 · s 1 3 · s 2 + 1 5 , 2 s 4 s 3 + s 2 + 1 s 2 + 1 3 · s 1 2 .
  • P 12 ( s ) : = s 1 s · s 6 + 2 2 , s 3 s + 1 s 6 + 2 .
  • P 13 ( s ) : = s 1 s + 1 · s 4 2 2 , s 3 s 4 2 .
  • P 14 ( s ) : = s 2 + 10 s 2 · s 2 3 , s 2 + 1 s 2 .

Appendix C. Implementation

The following page shows the procedures which were implemented for Algorithms 1–4 with the Maple algebra software.
Procedure AsymptotesImplicit (implicit_curve, accuracy)
Description
Computes the parametrizations of the g-asymptotes of an implicit curve, considering Puiseux expansion up to a fixed accuracy.
@param {polynomial} implicit_curve
@param {number} accuracy
@return [[{expression}, {expression}]...] parametric_asymptotes list
Symmetry 15 00069 i001
Procedure AsymptotesParametric (parametric_curve, accPuiseux)
Description
Computes the parametrizations of the g-asymptotes from a parametric curve, considering Puiseux expansions up to a fixed accuracy.
@param [{expression}, {expression}] parametric_curve
@param {number} accPuiseux
@return [[{expression}, {expression}], ...] parametric_asymptotes list
Symmetry 15 00069 i002
Procedure AsymptotesParametricLimits (parametric_curve)
Description
Computes the parametrization of the g-asymptotes of a given parametric curve using limits.
@param [{expression}, {expression}] parametric_curve
@return [[{expression}, {expression}], ...] parametric_asymptoteslist
Symmetry 15 00069 i003Symmetry 15 00069 i004
Procedure AsymptotesParametricDerivatives (parametric_curve)
Description
Computes the parametrization of the g-asymptotes of a given parametric curve using derivatives.
@param [{expression}, {expression}] parametric_curve
@return [[{expression}, {expression}], ...] parametric_asymptoteslist
Symmetry 15 00069 i005

References

  1. Maxwell, E. An Analytical Calculus; Cambridge University Press: Cambridge, UK, 1962; Volume 3. [Google Scholar]
  2. Zeng, G. Computing the asymptotes for a real plane algebraic curve. J. Algebra 2007, 316, 680–705. [Google Scholar] [CrossRef] [Green Version]
  3. Bajaj, C.L. (Ed.) Algebraic Geometry and its Applications; Springer: Berlin/Heidelberg, Germany, 1994. [Google Scholar]
  4. Cox, D.A.; Sturmfels, B. Applications of Computational Algebraic Geometry. In Proceedings of the Symposia in Applied Mathematics; American Mathematical Society: Providence, RI, USA, 1998; Volume 53. [Google Scholar]
  5. Hoffmann, C.M.; Sendra, J.R.; Winkler, F. Parametric algebraic curves and applications. J. Symb. Comput. 1997, 23. Available online: https://dl.acm.org/toc/josc/1997/23/2-3 (accessed on 1 January 2022).
  6. Schicho, J.; Sendra, J.R. Special Issue on Algebraic Curves. Appl. Algebra Eng. Commun. Comput. 2007, 18, 1–2. [Google Scholar] [CrossRef]
  7. Poulakis, D.; Voskos, E. On the Practical Solution of Genus Zero Diophantine Equations. J. Symb. Comput. 2000, 30, 573–582. [Google Scholar] [CrossRef] [Green Version]
  8. Poulakis, D.; Voskos, E. Solving Genus Zero Diophantine Equations with at Most Two Infinite Valuations. J. Symb. Comput. 2002, 33, 479–491. [Google Scholar] [CrossRef] [Green Version]
  9. Bajaj, C.; Lee, H.Y.; Merkert, R.; Pascucci, V. NURBS Based B-Rep Models for Macromolecules and their Properties. In Proceedings of the Fourth ACM Symposium on Solid Modeling and Applications, Atlanta, GA, USA, 14–16 May 1997; pp. 217–228. [Google Scholar] [CrossRef] [Green Version]
  10. Goppa, V.D. Codes associated with divisors. Probl. Peredachi Informatsii 1977, 13, 33–39. [Google Scholar]
  11. Goppa, V.D. Codes on algebraic curves. Sov. Math. Dokl. 1981, 259, 1289–1290. [Google Scholar]
  12. Pretzel, O. Codes and Algebraic Curves; Oxford Lecture Series in Mathematics and its Applications, 8; Oxford University Press: Oxford, UK, 1998. [Google Scholar]
  13. Abbaszadeh Sori, A.; Ebrahimnejad, A.; Motameni, H. Elite artificial bees’ colony algorithm to solve robot’s fuzzy constrained routing problem. Comput. Intell. 2020, 36, 659–681. [Google Scholar] [CrossRef]
  14. Blake, I.F.; Seroussi, G.; Smart, N.P. Elliptic Curves in Cryptography; London Mathematical Society Lecture Note Series, 265; Cambridge University Press: Cambridge, UK, 1999. [Google Scholar]
  15. Buchmann, J.A. Introduction to Cryptography; Undergraduate Texts in Mathematics; Springer: New York, NY, USA, 1995. [Google Scholar]
  16. Koblitz, N. Algebraic Aspects of Cryptography; Algorithms and Computation in Mathematics; Springer: Berlin/Heidelberg, Germany, 1998. [Google Scholar]
  17. Koblitz, N. Good and bad uses of elliptic curves in cryptography. Mosc. Math. J. 2002, 2, 693–715. [Google Scholar] [CrossRef]
  18. Farin, G. Curves and Surfaces for Computer-Aided Geometric Design, 3rd ed.; Academic Press: Boston, MA, USA, 1993. [Google Scholar]
  19. Farin, G.; Hoschek, J.; Kim, M.S. Handbook of Computer Aided Geometric Design; North-Holland: Amsterdam, The Netherlands, 2002. [Google Scholar]
  20. Hoschek, J.; Lasser, D. Fundamentals of Computer-Aided Geometric Design; A. K. Peters/CRC Press: Wellesley, MA, USA, 1993. [Google Scholar]
  21. Sederberg, T.W. Applications to Computer Aided Geometric Design. In Proceedings of the Symposia in Applied Mathematics: Applications of Computational Algebraic Geometry; Cox, D.A., Sturmfels, B., Eds.; American Mathematical Society: Providence, RI, USA, 1998; Volume 53, pp. 67–89. [Google Scholar] [CrossRef]
  22. Götz, M.; Maymeskul, V.; Saff, E. Asymptotic Distribution of Nodes for Near-Optimal Polynomial Interpolation on Certain Curves in R2. Constr. Approx. 2002, 18, 255–284. [Google Scholar] [CrossRef] [Green Version]
  23. Forsman, K. On Rational State Space Realizations. In Nonlinear Control Systems Design: Selected Papers from the 2nd IFAC Symposium; Fliess, M., Ed.; IFAC Symposia Series; Pergamon Press: Oxford, UK, 1993; pp. 341–346. [Google Scholar]
  24. Blasco, A.; Pérez-Díaz, S. Asymptotic behavior of an implicit algebraic plane curve. Comput. Aided Geom. Des. 2014, 31, 345–357. [Google Scholar] [CrossRef]
  25. Campo-Montalvo, E.; Fernández de Sevilla, M.; Pérez-Díaz, S. A simple formula for the computation of branches and asymptotes of curves and some applications. Comput. Aided Geom. Des. 2022, 94, 102084. [Google Scholar] [CrossRef]
  26. Blasco, A.; Pérez-Díaz, S. A new approach for computing the asymptotes of a parametric curve. J. Comput. Appl. Math. 2020, 364, 112350. [Google Scholar] [CrossRef]
  27. Shen, L.; Chionh, E.; Gao, X.S.; Li, J. Proper reparametrization for inherently improper unirational varieties. J. Syst. Sci. Complex. 2010, 24, 367–380. [Google Scholar] [CrossRef]
  28. Abkar, A.; Shekarbaigi, M. A Novel Iterative Algorithm Applied to Totally Asymptotically Nonexpansive Mappings in CAT(0) Spaces. Mathematics 2017, 5, 14. [Google Scholar] [CrossRef] [Green Version]
  29. Paik, J.W.; Lee, K.H.; Lee, J.H. Asymptotic Performance Analysis of Maximum Likelihood Algorithm for Direction-of-Arrival Estimation: Explicit Expression of Estimation Error and Mean Square Error. Appl. Sci. 2020, 10, 2415. [Google Scholar] [CrossRef] [Green Version]
  30. Jeong, S.H.; Son, B.k.; Lee, J.H. Asymptotic Performance Analysis of the MUSIC Algorithm for Direction-of-Arrival Estimation. Appl. Sci. 2020, 10, 2063. [Google Scholar] [CrossRef] [Green Version]
  31. Harbau, M.H.; Ugwunnadi, G.C.; Jolaoso, L.O.; Abdulwahab, A. Inertial Accelerated Algorithm for Fixed Point of Asymptotically Nonexpansive Mapping in Real Uniformly Convex Banach Spaces. Axioms 2021, 10, 147. [Google Scholar] [CrossRef]
  32. Sendra, J.R.; Winkler, F.; Pérez-Díaz, S. Rational Algebraic Curves: A Computer Algebra Approach; Algorithms and Computation in Mathematics; Springer: Berlin/Heidelberg, Germany, 2007. [Google Scholar] [CrossRef]
  33. Khan, M.; Santos-García, G.; Noor, M.; Soliman, M. Some new concepts related to fuzzy fractional calculus for up and down convex fuzzy number valued functions and inequalities. Chaos Solut. Fractals 2022, 164, 112692. [Google Scholar] [CrossRef]
  34. Di Caprio, D.; Ebrahimnejad, A.; Alrezaamiri, H.; Santos-Arteaga, F.J. A novel ant colony algorithm for solving shortest path problems with fuzzy arc weights. Alex. Eng. J. 2022, 61, 3403–3415. [Google Scholar] [CrossRef]
  35. Ebrahimnejad, A.; Karimnejad, Z.; Alrezaamiri, H. Particle swarm optimisation algorithm for solving shortest path problems with mixed fuzzy arc weights. Int. J. Appl. Decis. Sci. 2015, 8, 203–222. [Google Scholar] [CrossRef]
  36. Poteaux, A.; Rybowicz, M. Improving Complexity Bounds for the Computation of Puiseux Series over Finite Fields. In Proceedings of the 2015 ACM on International Symposium on Symbolic and Algebraic Computation, Bath, UK, 6–9 July 2015; pp. 299–306. [Google Scholar] [CrossRef] [Green Version]
  37. Baur, W.; Strassen, V. The complexity of partial derivatives. Theor. Comput. Sci. 1983, 22, 317–330. [Google Scholar] [CrossRef]
Figure 1. Infinity asymptotes C ˜ 1 (beige) and C ˜ 2 (pink) of the curve C .
Figure 1. Infinity asymptotes C ˜ 1 (beige) and C ˜ 2 (pink) of the curve C .
Symmetry 15 00069 g001
Figure 2. Infinity asymptotes C 1 ˜ (beige), C 2 ˜ (pink), and C 3 ˜ (gray) of the curve C .
Figure 2. Infinity asymptotes C 1 ˜ (beige), C 2 ˜ (pink), and C 3 ˜ (gray) of the curve C .
Symmetry 15 00069 g002
Figure 3. Asymptotes C 1 ˜ and C 2 ˜ of the curve C calculated with limits.
Figure 3. Asymptotes C 1 ˜ and C 2 ˜ of the curve C calculated with limits.
Symmetry 15 00069 g003
Figure 4. Asymptotes C 1 ˜ , C 2 ˜ and C 3 ˜ of the curve C calculated with derivatives.
Figure 4. Asymptotes C 1 ˜ , C 2 ˜ and C 3 ˜ of the curve C calculated with derivatives.
Symmetry 15 00069 g004
Figure 5. Microprocessor usage time (ms) depending on the degree.
Figure 5. Microprocessor usage time (ms) depending on the degree.
Symmetry 15 00069 g005
Figure 6. Microprocessor usage time (ms) depending on the number of terms.
Figure 6. Microprocessor usage time (ms) depending on the number of terms.
Symmetry 15 00069 g006
Figure 7. Microprocessor usage time (ms) depending on the number of branches.
Figure 7. Microprocessor usage time (ms) depending on the number of branches.
Symmetry 15 00069 g007
Figure 8. Microprocessor usage time depending on the highest degree of asymptotes.
Figure 8. Microprocessor usage time depending on the highest degree of asymptotes.
Symmetry 15 00069 g008
Figure 9. Required memory capacity (KiB) depending on degree.
Figure 9. Required memory capacity (KiB) depending on degree.
Symmetry 15 00069 g009
Figure 10. Required memory capacity (KiB) depending on the number of terms.
Figure 10. Required memory capacity (KiB) depending on the number of terms.
Symmetry 15 00069 g010
Figure 11. Required memory capacity (KiB) depending on the number of branches.
Figure 11. Required memory capacity (KiB) depending on the number of branches.
Symmetry 15 00069 g011
Figure 12. Required memory capacity, in KiB, according to the maximum degree asymptote.
Figure 12. Required memory capacity, in KiB, according to the maximum degree asymptote.
Symmetry 15 00069 g012
Table 1. Properties of the implicit curves and their asymptotes.
Table 1. Properties of the implicit curves and their asymptotes.
IdDegree# Terms# BranchMax. Deg.# Real Asymp# Complex Asymp
C 1 7215232
C 2 721333-
C 3 171145314
C 4 38222-
C 5 625343-
C 6 411323-
C 7 412232-
C 8 513232-
C 9 515222-
C 10 7193312
C 11 15584522
C 12 13317216
C 13 9225232
C 14 515222-
Table 2. Hardware resources required by Algorithm 1 for the case of implicit curves.
Table 2. Hardware resources required by Algorithm 1 for the case of implicit curves.
IdCPU TimeReal TimeMemory Used
C 1 26.17 ms25.06 ms1978.84 KiB
C 2 66.13 ms31.56 ms1386.33 KiB
C 3 362.72 ms283.47 ms10,806.75 KiB
C 4 14.86 ms16.88 ms810.67 KiB
C 5 168.47 ms124.77 ms3758.74 KiB
C 6 8.78 ms8.09 ms695.43 KiB
C 7 27.70 ms39.57 ms1495.48 KiB
C 8 76.90 ms40.75 ms1924.63 KiB
C 9 86.23 ms45.01 ms1755.44 KiB
C 10 75.12 ms51.87 ms1333.29 KiB
C 11 119.21 ms82.42 ms3706.32 KiB
C 12 8.65 ms7.93 ms782.95 KiB
C 13 7.13 ms6.88 ms602.33 KiB
C 14 76.67 ms52.47 ms1875.11 KiB
Table 3. Properties of the implicit curves and their asymptotes.
Table 3. Properties of the implicit curves and their asymptotes.
IdDegree# Terms# BranchMax. Deg.# Real Asymp# Complex Asymp
C 1 755232
C 2 73333-
C 3 1755314
C 4 33222-
C 5 65343-
C 6 43323-
C 7 43232-
C 8 53232-
C 9 53222-
C 10 733312
C 11 1544522
C 12 1337216
C 13 925232
C 14 52222-
Table 4. Hardware resources used by Algorithm 2 for the case of parametric curves.
Table 4. Hardware resources used by Algorithm 2 for the case of parametric curves.
IdCPU TimeReal TimeMemory Used
C 1 16.13 ms20.38 ms2014.46 KiB
C 2 131.45 ms117.78 ms17,305.41 KiB
C 3 >10 8 ms>10 8 ms>10 8 KiB
C 4 3.98 ms3.60 ms276.03 KiB
C 5 114.12 ms63.74 ms10,630.93 KiB
C 6 2.57 ms2.69 ms288.92 KiB
C 7 25.10 ms26.58 ms3193.96 KiB
C 8 102.26 ms72.53 ms8634.75 KiB
C 9 47.83 ms25.44 ms2832.28 KiB
C 10 18,496.00 ms16,028.00 ms1,795,206.41 KiB
C 11 >10 8 ms>10 8 ms>10 8 KiB
C 12 21,726.00 ms18,961.00 ms2,720,673.58 KiB
C 13 22,877.00 ms17,054.00 ms2,667,242.91 KiB
C 14 24.00 ms24.00 ms3668.91 KiB
Table 5. Properties of parametric curves and their asymptotes.
Table 5. Properties of parametric curves and their asymptotes.
Input CurveOutput Asymptotes
IdDeg.N.TermsN.BranchesMax. Deg.N.Real AsympN.Complex Asymp
C 1 755232
C 2 733330
C 3 1755314
C 4 332220
C 5 653430
C 6 433230
C 7 432320
C 8 532320
C 9 532120
C 10 733312
C 11 1544522
C 12 1337216
C 13 925232
C 14 522220
Table 6. Hardware resources required by Algorithm 3 for parametric curves.
Table 6. Hardware resources required by Algorithm 3 for parametric curves.
Idt. CPUt. Stay ActualMemory Used
C 1 41.74 ms44.93 ms4815.36 KiB
C 2 11.99 ms13.44 ms1241.23 KiB
C 3 59.25 ms62.82 ms5910.91 KiB
C 4 7.77 ms11.40 ms587.45 KiB
C 5 23.00 ms18.78 ms1836.80 KiB
C 6 20.78 ms11.31 ms832.64 KiB
C 7 9.76 ms10.73 ms871.49 KiB
C 8 11.10 ms11.56 ms973.96 KiB
C 9 5.92 ms6.48 ms527.17 KiB
C 10 15.30 ms16.50 ms1302.70 KiB
C 11 42.77 ms31.43 ms2796.50 KiB
C 12 48.13 ms34.53 ms3242.84 KiB
C 13 22.06 ms17.93 ms1390.01 KiB
C 14 8.32 ms8.49 ms636.6 KiB
Table 7. Properties of parametric curves and their asymptotes.
Table 7. Properties of parametric curves and their asymptotes.
Input CurveOutput Asymptotes
IdDeg.N.TermsN.BranchesMax. Deg.N.Real AsympN.Complex Asymp
C 1 755232
C 2 733330
C 3 1755314
C 4 332220
C 5 653430
C 6 433230
C 7 432320
C 8 532320
C 9 532120
C 10 733312
C 11 1544522
C 12 1337216
C 13 925232
C 14 522220
Table 8. Hardware resources required by Algorithm 4 for parametric curves.
Table 8. Hardware resources required by Algorithm 4 for parametric curves.
Idt. CPUt. Stay ActualMemory Used
C 1 10.18 ms11.13 ms803.07 KiB
C 2 4.16 ms5.61 ms347.86 KiB
C 3 40.48 ms35.30 ms5155.88 KiB
C 4 2.55 ms2.68 ms223.10 KiB
C 5 4.17 ms5.11 ms331.83 KiB
C 6 3.42 ms3.38 ms284.55 KiB
C 7 3.37 ms3.42 ms266.60 KiB
C 8 3.31 ms3.26 ms268.50 KiB
C 9 3.07 ms3.18 ms263.64 KiB
C 10 5.38 ms6.58 ms421.00 KiB
C 11 50.00 ms48.29 ms7446.49 KiB
C 12 13.13 ms14.51 ms1234.98 KiB
C 13 8.83 ms9.14 ms715.44 KiB
C 14 3.26 ms3.23 ms265.36 KiB
Table 9. Properties of the input curve and microprocessor time needed to execute Algorithms 1–4.
Table 9. Properties of the input curve and microprocessor time needed to execute Algorithms 1–4.
Number of TermsAsymptotesCPU Time (ms)
IdDeg.ImplicitParametricDeg. Max.N.AsympN.Real AsympN.Complex AsympAlg.3.1Alg.3.2Alg.3.3Alg.3.4
C 1 7215253226.1716.1341.7410.18
C 2 7213333066.13131.4511.994.16
C 3 1711453514362.72>10 8 59.2540.48
C 4 383222014.863.987.772.55
C 5 62554330168.47114.1223.004.17
C 6 411323308.782.5720.783.42
C 7 4123322027.7025.109.763.37
C 8 5133322076.90102.2611.103.31
C 9 5153122086.2347.835.923.07
C 10 7193331275.1218,496.0015.305.38
C 11 155845422119.21>10 8 42.7750.00
C 12 1331327168.6521,726.0048.1313.13
C 13 922225327.1322,877.0022.068.83
C 14 5152222076.6724.008.323.26
Table 10. Properties of the input curve and real time of stay in the system necessary to execute Algorithms 1–4.
Table 10. Properties of the input curve and real time of stay in the system necessary to execute Algorithms 1–4.
Number of TermsAsymptotesReal Time Spent in the System (ms)
IdDeg.ImplicitParametricMax. Deg.N.AsympN.Real AsympN.Complex AsympAlg.3.1Alg.3.2Alg.3.3Alg.3.4
C 1 7215253225.0620.3844.9311.13
C 2 7213333031.56117.7813.445.61
C 3 1711453514283.47>10 8 62.8235.3
C 4 383222016.883.611.42.68
C 5 62554330124.7763.7418.785.11
C 6 411323308.092.6911.313.38
C 7 4123322039.5726.5810.733.42
C 8 5133322040.7572.5311.563.26
C 9 5153122045.0125.446.483.18
C 10 7193331251.8716,02816.56.58
C 11 15584542282.42>10 8 31.4348.29
C 12 1331327167.9318,96134.5314.51
C 13 922225326.8817,05417.939.14
C 14 5152222052.4724.008.493.23
Table 11. Properties of the input curve and memory capacity needed to execute Algorithms 1–4.
Table 11. Properties of the input curve and memory capacity needed to execute Algorithms 1–4.
N. of TermsAsymptotesMemory Capacity (KiB)
IdDeg.Impl.Param.Max. Deg.N.AsympN.Real AsympN.Complex AsympAlg.3.1Alg.3.2Alg.3.3Alg.3.4
C 1 721525321978.842014.464815.36803.07
C 2 721333301386.3317,305.411241.23347.86
C 3 171145351410,806.75>10 8 5910.915155.88
C 4 3832220810.67276.03587.45223.10
C 5 625543303758.7410,630.931836.80331.83
C 6 41132330695.43288.92832.64284.55
C 7 412332201425.483193.96871.49266.60
C 8 513332201924.638634.75973.96268.50
C 9 515312201755.442832.28527.17263.64
C 10 719333121333.291,795,206.411302.70421.00
C 11 1558454223706.32>10 8 2796.507446.49
C 12 133132716782.952,720,673.583242.841234.98
C 13 92222532602.332,667,242.911390.01715.44
C 14 515222201875.113668.91636.60265.36
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Campo-Montalvo, E.; Fernández de Sevilla, M.; Magdalena Benedicto, J.R.; Pérez-Díaz, S. Some New Symbolic Algorithms for the Computation of Generalized Asymptotes. Symmetry 2023, 15, 69. https://doi.org/10.3390/sym15010069

AMA Style

Campo-Montalvo E, Fernández de Sevilla M, Magdalena Benedicto JR, Pérez-Díaz S. Some New Symbolic Algorithms for the Computation of Generalized Asymptotes. Symmetry. 2023; 15(1):69. https://doi.org/10.3390/sym15010069

Chicago/Turabian Style

Campo-Montalvo, Elena, Marián Fernández de Sevilla, J. Rafael Magdalena Benedicto, and Sonia Pérez-Díaz. 2023. "Some New Symbolic Algorithms for the Computation of Generalized Asymptotes" Symmetry 15, no. 1: 69. https://doi.org/10.3390/sym15010069

APA Style

Campo-Montalvo, E., Fernández de Sevilla, M., Magdalena Benedicto, J. R., & Pérez-Díaz, S. (2023). Some New Symbolic Algorithms for the Computation of Generalized Asymptotes. Symmetry, 15(1), 69. https://doi.org/10.3390/sym15010069

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop