AsymptoticEqual
AsymptoticEqual[f,g,xx^{*}]
gives conditions for or as xx^{*}.
AsymptoticEqual[f,g,{x_{1},…,x_{n}}{,…,}]
gives conditions for or as {x_{1},…,x_{n}}{,…,}.
Details and Options
 Asymptotic equal is also expressed as f is bigtheta of g, f is bounded by g, f is of order g, and f grows as g. The point x^{*} is often assumed from context.
 Asymptotic equal is an equivalence relation and means when x is near x^{*} for some constants and . It is a coarser asymptotic equivalence relation than AsymptoticEquivalent.
 Typical uses include expressing simple bounds for functions and sequences near some point. It is frequently used for asymptotic solutions to equations and to give simple lower bounds for computational complexity.
 For a finite limit point x^{*} and {,…,}, the result is:

AsymptoticEqual[f[x],g[x],xx^{*}] there exist , and such that implies AsymptoticEqual[f[x_{1},…,x_{n}],g[x_{1},…,x_{n}],{x_{1},…,x_{n}}{,…,}] there exist , and such that implies  For an infinite limit point, the result is:

AsymptoticEqual[f[x],g[x],x∞] there exist , and such that implies AsymptoticEqual[f[x_{1},…,x_{n}],g[x_{1},…,x_{n}],{x_{1},…,x_{n}}{∞,…,∞}] there exist , and such that implies  AsymptoticEqual[f[x],g[x],xx^{*}] exists if and only if MinLimit[Abs[f[x]/g[x]],xx^{*}]>0 and MaxLimit[Abs[f[x]/g[x]],xx^{*}]<∞ when g[x] does not have an infinite set of zeros near x^{*}.
 The following options can be given:

Assumptions $Assumptions assumptions on parameters Direction Reals direction to approach the limit point GenerateConditions Automatic generate conditions for parameters Method Automatic method to use PerformanceGoal "Quality" what to optimize  Possible settings for Direction include:

Reals or "TwoSided" from both real directions "FromAbove" or 1 from above or larger values "FromBelow" or +1 from below or smaller values Complexes from all complex directions Exp[ θ] in the direction {dir_{1},…,dir_{n}} use direction dir_{i} for variable x_{i} independently  DirectionExp[ θ] at x^{*} indicates the direction tangent of a curve approaching the limit point x^{*}.
 Possible settings for GenerateConditions include:

Automatic nongeneric conditions only True all conditions False no conditions None return unevaluated if conditions are needed  Possible settings for PerformanceGoal include $PerformanceGoal, "Quality" and "Speed". With the "Quality" setting, Limit typically solves more problems or produces simpler results, but it potentially uses more time and memory.
Examples
open allclose allBasic Examples (2)
Scope (9)
Compare functions that are not strictly positive:
Show that diverges at the same rate as at the origin:
Answers may be Boolean expressions rather than explicit True or False:
When comparing functions with parameters, conditions for the result may be generated:
By default, a twosided comparison of the functions is made:
When comparing larger values of , vanishes at the same rate as :
The relationship fails for smaller values of :
Visualize the ratio of the two functions, showing it approaches a nonzero limit from above:
Functions like Sqrt may have the same relationship in both real directions along the negative reals:
If approached from above in the complex plane, the same relationship is observed:
However, approaching from below in the complex plane produces a different result:
This is due to a branch cut where the imaginary part of Sqrt reverses sign as the axis is crossed:
Hence, the relationship does not hold in the complex plane in general:
Visualize the relative sizes of the functions when approached from the four real and imaginary directions:
Compare multivariate functions:
Visualize the norms of the two functions:
Options (9)
Assumptions (1)
Specify conditions on parameters using Assumptions:
Direction (5)
Equality at piecewise discontinuities:
Since it fails in one direction, the twosided result is false as well:
Visualize the two functions and their ratio:
Equality at a pole is independent of the direction of approach:
Compute equality, approaching from different quadrants:
Approaching the origin from the third quadrant:
Approaching the origin from the second quadrant:
Approaching the origin from the right halfplane:
GenerateConditions (3)
Return a result without stating conditions:
This result is only valid if n>0:
Return unevaluated if the results depend on the value of parameters:
By default, conditions are not generated if only special values invalidate the result:
With GenerateConditions>True, even these nongeneric conditions are reported:
Applications (10)
Basic Applications (5)
Show that two monomials equivalent at infinity have the same power:
Use this to show that two polynomials that are equivalent are of the same order:
Visualize the ratios of three pairs of asymptotically equivalent polynomials:
Show that two monomials in equivalent at have the same power:
Use this to show that two polynomials in that are equivalent have the same leading monomial:
Visualize the ratios of three pairs of asymptotically equivalent polynomials in :
Even though the absolute value of their ratio wiggles incessantly as , it is bounded away from :
Even though the absolute value of their ratio wiggles incessantly as , it is bounded away from :
Computational Complexity (3)
In a bubble sort, adjoining neighbors are compared and swapped if they are out of order. After one pass of n1 comparisons, the largest element is at the end. The process is then repeated on remaining n1 elements, and so forth, until only two elements at the very beginning remain. If comparison and swap takes c steps, the total number of steps for the sort is as follows:
Show that , and thus the algorithm has quadratic run time:
Visualize the ratios for the two functions for different values of c:
In a merge sort, the list of elements is split in two, each half is sorted, and then the two halves are combined. Thus, the time T[n] to do the sort will be the sum of some constant time b to compute the middle, 2T[n/2] to sort each half, and some multiple a n of the number of elements to combine the two halves:
Solve the recurrence equation to find the time t to sort n elements:
Show that , and thus the algorithm has run time:
Strassen's algorithm was the first subcubic matrix multiplication algorithm found. It consists of four steps: splitting each of the two matrices into 4 equalsized submatrices, forming 14 particular linear combinations out of the 8 submatrices, multiplying 7 pairs of these and forming linear combinations of the 7 results. The time to do the multiplication will therefore be a constant time to split the matrix, for forming linear combinations in the second and fourth steps and for the third step:
Solve the recurrence relation:
Though the result is complicated, it is asymptotically equal to :
Compare the rate of growth of the naive cubic algorithm and Strassen's algorithm:
Convergence Testing (2)
A sequence is said to be absolutely summable if . If a second sequence , the comparison test states that is absolutely summable if and only if is. Use the test to show that converges by comparing with the sum of :
Compare with the answer given by SumConvergence:
Show that convergence by comparing with the sum of :
Show that divergence by comparing with the sum of :
Compare with the answer given by SumConvergence:
The sequence , and thus is not absolutely summable:
A function is said to be absolutely integrable on if . If and are continuous on the open interval and at both and , the comparison test states that is absolutely integrable if and only if is. Use the test to show that is absolutely integrable on :
Since is integrable on , so is :
That is not integrable over can be shown by comparing it with :
The result follows from the nonintegrability of on the unit interval:
The function is not absolutely integrable on :
Show that is not absolutely integrable either, by comparing it to :
Properties & Relations (6)
AsymptoticEqual is an equivalence relation, meaning it is reflexive ():
It is transitive ( and implies ):
And it is symmetric ( implies ):
AsymptoticEqual[f[x],g[x],xx_{0}] iff MaxLimit[Abs[f[x]/g[x]],xx_{0}]<∞ and MinLimit[Abs[f[x]/g[x]],xx_{0}]>0:
AsymptoticEqual[f[x],g[x],xx_{0}] if 0<Limit[Abs[f[x]/g[x]],xx_{0}]<∞:
However, the limit need not exist:
The converse, however, is false:
The converse is false, so AsymptoticEqual is coarser than AsymptoticEquivalent: