Symbolic Computation Applied to Cauchy Type Singular Integrals

: The development of operator theory is stimulated by the need to solve problems emerging from several ﬁelds in mathematics and physics. At the present time, this theory has wide applications in the study of non-linear differential equations, in linear transport theory, in the theory of diffraction of acoustic and electromagnetic waves, in the theory of scattering and of inverse scattering, among others. In our work, we use the computer algebra system Mathematica to implement, for the ﬁrst time on a computer, analytical algorithms developed by us and others within operator theory. The main goal of this paper is to present new operator theory algorithms related to Cauchy type singular integrals, deﬁned in the unit circle. The design of these algorithms was focused on the possibility of implementing on a computer all the extensive symbolic and numeric calculations present in the algorithms. Several nontrivial examples computed with the algorithms are presented. The corresponding source code of the algorithms has been made available as a supplement to the online edition of this article.


Introduction
In recent years, several software applications with extensive capabilities of symbolic computation were made available to the general public.These applications, known as computer algebra systems (CAS), allow the delegation to a computer of all, or a significant part, of the symbolic and numeric calculations present in many mathematical algorithms.
In our work, we use the computer algebra system Mathematica (Wolfram Mathematica is a symbolic mathematical computation program, conceived by Stephen Wolfram, used in many scientific, engineering and computing fields) to implement for the first time on a computer analytical algorithms developed by us and others within the operator theory.The design of our algorithms is focused on the possibility of implementing on a computer all, or a significant part, of the extensive symbolic and numeric calculations present in the analytical algorithms.The methods developed rely on innovative techniques of operator theory and have a potential for extension to more complex and general problems.By implementing these methods on a computer, new tools are created to explore that same potential, making the results of lengthy and complex calculations available in a simple way to researchers in different areas.In the last years, we designed and/or implemented calculation techniques to compute singular integrals, analytical algorithms for solving integral equations, to study the spectrum and the kernel of several special classes of singular integral operators and to factorize functions (see, for instance [1][2][3][4][5]).
The main goal of this paper is to present new operator theory algorithms related to Cauchy type singular integrals, defined in the unit circle.All the algorithms were implemented using the symbolic computation capabilities of the computer algebra system Mathematica.
Singular integrals are classic mathematical objects with a vast array of applications in the main scientific research areas, and the importance of their study is globally acknowledged.There are several numerical algorithms and approximation methods for evaluating some classes of singular integrals.There exist also several analytical techniques that allow the exact computation of particular classes of singular integrals.However, the [SInt] and [SIntAFact] algorithms [2] are the only analytical algorithms, to our knowledge, written and implemented for computing Cauchy type singular integrals with general functions, defined in the unit circle.Although the [SInt] algorithm was designed to be efficient for a wide class of singular integrals, it can be improved in terms of implementation.For instance, the version described and made available in [2] does not identify whether a given function has poles in the unit circle or if the user inputs non-valid functions, nor can it work with the generality of fifth degree or higher polynomials.
In this paper, we present an improved and fully efficient version of the algorithm, the [SInt] 2.0 algorithm, designed with the Root object concept (to represent solutions to one-variable algebraic equations) available in Wolfram Mathematica.This conception of an improved version became possible after the design of the [ASPPlusPMinus] algorithm, created for the rational case, which also calculates the projections associated with the integral of type Cauchy considered in [2], even in cases involving polynomials of the fifth degree or higher.The output provided by these algorithms can be used for several other algorithms to solve singular integral equations, to factorize functions, to compute the dimension of the kernel of some classes of singular integrals and to study the spectra of some operators.Furthermore, since the majority of the concepts and results established for the unit circle within operator theory can be generalized for the real line, we are trying to make the several necessary adaptations in analytical and implementation terms so that the creation of new algorithms that use functions defined in the real line becomes possible.We believe that it will also be possible to extend the methods described in this article to other classes of singular integrals of the Cauchy type, such as those studied in [1,[5][6][7][8], at least for the rational case.
The paper is organized as follows: Section 2 contains some basic concepts within Cauchy singular integral operators and a brief description of the [SInt] algorithm.The section also contains the description of algorithms that compute the roots (in exact and approximate forms) of a polynomial function and/or identify the location (regarding the unit circle) of elements that belong to a list of complex numbers and that can be integrated into new operator algorithms.Section 3 is dedicated to the [SInt] 2.0 algorithm and to the description of a new operator theory algorithm that uses the algorithms presented in Sections 2.3 and 2.4.Sections 2 and 3 contains several nontrivial examples computed with the algorithms.The last section is dedicated to some final comments.
The corresponding source code of the algorithms has been made available as a Supplementary Material to the online edition of this article.

Materials and Methods
This section contains some basic concepts within Cauchy singular integral operators and a brief description of the [SInt] algorithm [2].Some algorithms that compute the roots (in exact and approximate forms) of a polynomial function and/or identify the location (regarding the unit circle) of elements that belong to a given list of complex numbers are also presented.

Basic Concepts
Let T denote the unit circle in the complex plane.Let T + and T − denote the open unit disk and the exterior region of the unit circle (∞ included), respectively.As usual, L ∞ (T) denotes the space of all essentially bounded functions defined on T and H ∞ (T) the class of all bounded and analytic functions in T + .Let R(T) be the algebra of rational functions without poles on T and R ± (T) the subsets of R(T) whose elements have no poles in T ± , respectively.
The study of singular integral operators has applications in different research areas, such as the theory of diffraction of acoustic and electromagnetic waves, theory of scattering and of inverse scattering and factorization theory (see, for instance, [9][10][11][12][13][14][15][16]).
It is well known that the singular integral operator with Cauchy kernel, S T , defined almost everywhere on T, by where the integral is understood in the sense of its principal value, represents a bounded linear operator in the Lebesgue space L 2 (T).In addition, S T is a selfadjoint and unitary operator in L 2 (T) [17].Thus, we can associate with S T two complementary Cauchy projection operators where I represents the identity operator.The projectors (2) allow us to decompose the algebra R(T) in the topological direct sum where R + (T) = P + R(T) and R 0 − (T) = P − R(T).We also have R − (T) = R 0 − (T) ⊕ C.

[SInt] Algorithm
There exist several numerical algorithms and approximation methods for evaluating some classes of singular integrals.There are also several analytical techniques that allow the exact computation of singular integrals for particular cases.However, the [SInt] (the corresponding source code of [SInt] is available in the online version of [2]) and [SIntAFact] algorithms [2] are the only analytical algorithms, to our knowledge, designed and implemented for computing singular integrals with general essentially bounded functions defined on the unit circle.Both algorithms were implemented using the numeric and symbolic computation capabilities of the computer algebra system Mathematica.In particular, the implementation of the [SInt] algorithm makes the results of lengthy and complex calculations available in a simple way to researchers of different areas.
The [SInt] algorithm computes (1) when we can represent the function ϕ as where x + , y − ∈ H ∞ (T) and r ∈ R(T).
The algorithm extensively uses the properties of the projection operators (2) that emerge when those operators are applied to functions in H ∞ (T) (e.g.x + ) and in H ∞ (T), (e.g., y − ).[SInt] also explores the rationality of r(t) for reducing all possible situations to a few basic cases.After the decomposition of the rational function r(t) in elementary fractions, the singular integrals are computed using formulas described in [2].
The [SInt] algorithm can be applied to particular functions x + (t) and y − (t), or it can compute the closed form of (1) as a general expression in x + (t) and y − (t).
There are three options to insert the rational function r(t): Input the numerator and the poles and multiplicities; 3.
Input zeros, poles and multiplicities.
It is important to note that in the [SInt] algorithm, it is entirely the user's responsibility to introduce a function r that belong to R(T), a function x + in H ∞ (T) and a function y − whose conjugate is in H ∞ (T).If a non-valid input is considered, [SInt] outputs an error.Furthermore, since the poles of r are crucial information for this calculation technique, in the case of Option 1, or if a particular function x + or y − is considered, the success of the [SInt] algorithm is dependent on the possibility of finding those poles by solving a polynomial equation.For instance, if a rational function r is introduced with fifth degree or higher polynomials, the algorithm gives, most of the time, an incorrect output (since it cannot apply the properties of the projectors).

[SInt] Algorithm Examples
We now present some examples of nontrivial singular integrals computed with the source code of [SInt], which is available in the online version of [2].For each input of functions r(t), x + (t), and y − (t), the [SInt] algorithm computes the singular integrals S T X(t) and S T Y(t) , for X(t) = r(t)x + (t) and Y(t) = r(t)y − (t).
It should be noted that it is up to the user to introduce valid r, x + and y − functions.
Example 1.Let us use Option 1 to input the rational function r (Figure 1).Let us consider a general expression for the function x + and y − (t) = t −k (Figure 2).The [SInt] algorithm gives the singular integrals presented in Figure 3.The [SInt] algorithm gives the singular integrals presented in Figure 6.Let us consider a general expression for the functions x + and y − (Figure 8).The [SInt] algorithm gives the singular integrals presented in Figure 9.   Example 5. Let us use Option 1 to input the rational function r (Figure 12) and particular functions x + and y − (Figure 13)..   Something similar would happen for an inputed function y − with one pole on T.
Remark 2. Situation 1 is resolved in the improved version of the algorithm, described in Section 3.
Situation 2: The [SInt] algorithm does not identify whether valid functions x + and y − are inputed.
Example 6.Let us use Option 1 to input the rational function r (Figure 15).Let us consider particular functions x + and y − (Figure 16).Let us consider a general expression for the functions x + and y − (Figure 25).Remark 4. Situation 3 is also resolved in the [SInt] 2.0 algorithm, described in Section 3.

[ARoots] Algorithm
This subsection is dedicated to the formal description of the [ARoots] algorithm.This algorithm identifies, after calculating the roots of a polynomial p(t), the location of the roots relative to T, T + , and T − .It is also possible to ask for an approximate value of a desired root.
There are two options to insert the polynomial p(t) (see Figure 27).The analysis of the code and flowchart of the [ARoots] algorithm reveals that one of the essential steps is the use of the Root object concept (see Figure 28), which allows a precise analysis of the absolute value of the roots (see Figure 29).When the user uses Option 1, it is possible to ask for an approximate value of a desired root (see Figure 30).

[ARoots] Algorithm Example
Let us now present a nontrivial example computed with the [ARoots] algorithm.For each inputed polynomial p, defined in T, the algorithm gives the number of roots in T, T + , and T − .Example 10.Let us insert directly the polynomial p (Figure 32).The algorithm gives the roots in T, T + , and T − (Figure 33) and gives the opportunity to the user to obtain an approximate value of the roots (Figure 34).[ARoots] algorithm gives the extra output presented in Figure 35.The algorithm gives the roots in T, T + , and T − (Figure 37).Even in this case, where the roots appear represented as Root objects (Mathematica uses Root objects to represent solutions of algebraic equations in one variable, when it is impossible to find explicit formulas for these solutions), it is possible to request approximate values.The Root object is not a mere denoting symbol but rather an expression that can be symbolically manipulated and numerically evaluated with any desired precision [1].Remark 6.This example is related with Example 9 in Section 2.2.2.

[AZeros] and [APoles] Algorithms
This subsection is dedicated to the formal description of the [AZeros] and [APoles] algorithms.These algorithms identify, given a list of complex numbers, their location relative to T, T + , and T − .
The [AZeros] and [APoles] algorithms were created to be used as part of other more complex algorithms (as well as those described in Section 3), exploring a list of values entered by the user.In fact, the code of these algorithms was based on the code of the [ARoots] algorithm (Figure 38).However, these algorithms can also be used independently by using an nb format file where a rational function is introduced and Mathematica's Solve command is used.We obtain the output presented in Figure 41.We obtain the output presented in Figure 43.

Results
This section is dedicated to the description of new operator theory algorithms.Some of them use the [AZeros] and [APoles] algorithms described in the previous section.Several nontrivial examples are presented.Section 3.1 is dedicated to the [ASPPlusPMinus] algorithm, which computes the singular integrals S T r(t), P + r(t) and P − r(t) for a given rational function r.An improved version of the [SInt] algorithm is described in Section 3.2.

[ASPPlusPMinus] Algorithm
This subsection is dedicated to the formal description of the [ASPPlusPMinus] algorithm, which computes the singular integrals S T r(t), P + r(t) and P − r(t) for a given rational function r.This algorithm validates the inputed rational function r, analyzing the location of its poles using the Root object concept.Thus, some of the incorrect outputs described in Section 2.2, and not considered in the implementation of the [SInt] algorithm [2], do not happen.
The design and implementation of this algorithm allowed the improvement of the [SInt] algorithm, creating the [SInt] 2.0 algorithm described in Section 3.2.
Figure 46 contains the flowchart of the [ASPPlusPMinus] algorithm.The algorithm allows three input options for the rational function r(t) (Figure 47).This algorithm integrates the [APoles] algorithm and uses parts of the [ARoots] algorithm, namely in the code structure where the Solve command is used (Figure 48).Several properties of the projection operators (2) are implemented so that the output is the singular integrals obtained by applying these operators to the rational function r and the singular integral (1).

[ASPPlusPMinus] Algorithm Examples
Let us now present nontrivial examples computed with the [ASPPlusPMinus] algorithm.For each inputed rational function r, defined in T, the algorithm validates whether the function belongs to algebra R(T) and, if so, computes the singular integrals S T r(t), P + r(t), and P − r(t).[ASPPlusPMinus] algorithm gives the output presented in Figure 50.[ASPPlusPMinus] algorithm gives the output presented in Figure 52.

[SInt] 2.0 Algorithm
This subsection is dedicated to a formal description of the [SInt] 2.0 algorithm (An improved version of the [SInt] algorithm described in [2].), which computes the singular integrals S T X(t) and S T Y(t) for given functions X(t) = r(t)x + (t) and Y(t) = r(t)y − (t) , where x + , y − ∈ H ∞ (T) and r ∈ R(T).
This algorithm validates the inputed rational function r, analyzing the location of its poles using the Root object concept and Mathematica's Solve command.In the case when particular rational functions x + and y − are inputed, the algorithm also checks if x + and y − have poles at T ∪ T + .Thus, the incorrect outputs described in Section 2.2, and not considered in the implementation of the [SInt] algorithm [2], do not happen.However, it cannot validate functions x + and y − , which are not rational functions (Example 22).In this case, the algorithm provides the general expression of the singular integrals S T X(t) and S T Y(t) in terms of projection operator P + but does not give an incorrect output (as the [SInt] algorithm).
The flowchart of the [SInt] 2.0 algorithm is presented in Figure 55.This algorithm integrates parts of the code structure of the [ASPPlusPMinus] algorithm and uses similar methodologies to validate inputed functions x + and y − in the rational case (Figure 56).There are three options to insert the rational function r(t).Functions x + and y − can be particular functions or functions in their general form (Figure 57).If x + is a rational function introduced in a particular way, the algorithm checks if x + has poles in the unit circle or in T + , and similarly, the algorithm checks if the rational function y − has poles in T ∪ T + .
In order to facilitate the algorithm user's task, this new algorithm was designed to allow the entire program to run and all options to be requested through boxes.
It should be noted that in this new version, considering that it analyzes the validity of functions x + and y − when introduced as particular rational functions, the use of arbitrary constants is not allowed (as in Example 1).In this example, despite the polynomial degree of the denominator of the function x + , it is possible to identify that x + is not a valid function.
The output presented in Figure 63 is obtained.In this example, despite the polynomial degree of the denominator of the function r, it is possible to compute the singular integrals.
The output presented in Figure 65 is obtained.In this example, as x + is not a rational function, the algorithm cannot identify that it is a valid function.The [SInt] 2.0 algorithm provides the general expression of the singular integrals S T X(t) and S T Y(t) in terms of projection operator P + , but does not give an incorrect output (as in the [SInt] algorithm).Remark 14.In order to improve the version described in [2], it was necessary to eliminate some of the properties included in the [SInt] code (Figure 67).We obtain the output presented in Figure 68.

Discussion
The design of our analytical algorithms is focused on the possibility of implementing on a computer all, or a significant part, of the extensive symbolic and numeric calculations present in the algorithms.The methods developed rely on innovative techniques of operator theory and have a great potential for extension to more complex and general problems.

•
We hope that our work within operator theory, and with Mathematica, will help in the path to the future design and implementation of several other analytical algorithms, with numerous applications in many areas of research and technology; • We are considering the design and implementation of other factorization, spectral and kernel algorithms; • It is our opinion that the design and implementation of analytical algorithms that work with singular integral operators defined on the real line can constitute a very interesting new line of research; • We also hope that, going forward, these analytical methods, and their implementation using a computer algebra system with large symbolic and numeric computation capabilities, may contribute to the numerical approach in operator theory.

Figure 1 .
Figure 1.Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.

Figure 2 .
Figure 2. Part of the structure of the [SInt] algorithm corresponding to the Input of x + and y − .

Figure 3 .Remark 1 .
Figure 3. Output given by the [SInt] algorithm.Remark 1.In this example, we should interpret that the [SInt] algorithm considers k 0, taking into account that in the input (which allows you to include arbitrary constants), y − ∈ H ∞ (T).

Example 2 .
Let us use Option 2 to input the rational function r (Figure4).Let us consider a general expression for the function y − and x + (t) = (t − i) 3 (Figure5).

Figure 4 .
Figure 4. Part of the structure of the [SInt] algorithm corresponding to the Option 2 to input r.

Figure 5 .
Figure 5. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y − .

Figure 6 .Example 3 .
Figure 6.Output given by the [SInt] algorithm.Example 3. Let us use Option 3 to input the rational function r (Figure7).

Figure 7 .
Figure 7. Part of the structure of the [SInt] algorithm corresponding to Option 3 to input r.

Figure 8 .
Figure 8. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y − .

Figure 9 .Example 4 .
Figure 9. Output given by the [SInt] algorithm.2.2.2.[SInt] Algorithm: Possible Improvements Now, we present some situations not considered in the implementation of the [SInt] algorithm and that are considered in our improved version in Section 3. Situation 1: The [SInt] algorithm does not identify whether an inputed function has poles in T. Example 4. Let us use Option 2 to input the rational function r (Figure 10) and general expressions for the functions x + and y − .

Figure 10 .
Figure 10.Part of the structure of the [SInt] algorithm corresponding to Option 2 to input r.The [SInt] algorithm gives the incorrect output presented in Figure 11 since r / ∈ R(T).

Figure 12 .
Figure 12.Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.

Figure 13 .
Figure 13.Part of the structure of the [SInt] algorithm corresponding to the input of x + and y − .The [SInt] algorithm gives the incorrect output presented in Figure 14 since x + / ∈ R(T).

Figure 15 .
Figure 15.Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.

Figure 16 .
Figure 16.Part of the structure of the [SInt] algorithm corresponding to the Input of x + and y − .The [SInt] algorithm gives the incorrect output presented in Figure 17 since x + and y − are non-valid functions.

Figure 17 .Example 7 .
Figure 17.Output given by the [SInt] algorithm.Example 7. Let us use Option 1 to input the rational function r (Figure 18).

Figure 18 .
Figure 18.Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.Let us consider particular functions x + and y − (Figure19).The [SInt] algorithm gives the incorrect output presented in Figure20since x + and y − are non-valid functions.

Figure 19 .
Figure 19.Part of the structure of the [SInt] algorithm corresponding to the input of x + and y − .

Figure 20 .Remark 3 .
Figure 20.Output given by the [SInt] algorithm.Remark 3. The Situation 2 is resolved, for the rational case, in the [SInt] 2.0 algorithm.Situation 3: The [SInt] algorithm is not always efficient with a fifth degree or higher polynomial input.Example 8. Let us use Option 1 to input the rational function r (Figure 21).Let us consider particular functions x + and y − presented in Figure 22.

Figure 21 .
Figure 21.Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.

Figure 22 .
Figure 22.Part of the structure of the [SInt] algorithm corresponding to the input of x + and y − .The [SInt] algorithm gives the incorrect output presented in Figure23since it cannot identify the poles of the function x + and assumes that x + ∈ H ∞ (T) (in this case, x + ∈ R 0 − (T), that is, x + is an non-valid input).

Figure 23 .Example 9 .
Figure 23.Output given by the [SInt] algorithm.Example 9. Let us use Option 1 to input the rational function r (Figure 24).

Figure 24 .
Figure 24.Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.

Figure 25 .
Figure 25.Part of the structure of the [SInt] algorithm corresponding to the input of x + and y − .The [SInt] algorithm gives the incorrect output presented in Figure26since, as it cannot identify the poles of the rational function r, it does not know where they are in the complex plane (relative to T, T + , and T − ).

Figure 27 .
Figure 27.Part of the code structure of the [ARoot] algorithm responsible for the input options for the polynomial p.

Figure 28 .
Figure 28.Part of the code structure of the [ARoot] algorithm responsible for the computation of the roots of p.

Figure 29 .
Figure 29.Part of the code structure of the [ARoots] algorithm code corresponding to the analysis of the absolute value of the roots of the inputed polynomial.

Figure 30 .
Figure 30.Part of the code structure of the [ARoots] algorithm code corresponding to the computation of an approximate value of a desired root.

Figure 31
Figure 31 contains the flowchart of the [ARoots] algorithm.

Figure 32 .
Figure 32.Part of the structure of the [ARoots] algorithm corresponding to the Option 1 to input p.

Figure 34 .
Figure 34.Part of the structure of the [ARoots] algorithm corresponding to the option to get an approximate root value.

Figure 36 .
Figure 36.Part of the structure of the [ARoots] algorithm corresponding to Option 1 to input p.

Figure 38 .
Figure 38.Part of the code structure of the [AZeros] algorithm code responsible for the location, relative to the unit circle, of complex numbers in a given list.

Figure 39 .Example 12 .
Figure 39.Flowcharts of the [AZeros] and [APoles] algorithms.[AZeros] and [APoles] Algorithms Examples Let us now present nontrivial examples computed with the algorithms.For an inputed rational function r defined in T, the algorithm creates a list of complex numbers and gives the information of which zeros/poles are located in T, T + , and T − .Example 12. Let us use the nb format file associated with the [AZeros] and [APoles] algorithms that allows the input of a rational function r to compute its zeros and poles and locate them (Figure 40).

Figure 40 .
Figure 40.Part of the structure that allows the computation of the zeros and poles of r.

Figure 41 .Example 13 .
Figure 41.Output given by the [AZeros] and [APoles] algorithms.Example 13.Let us use the nb format file associated with the [AZeros] algorithm that allows the input of a rational function r to compute its zeros and locate them (Figure42).

Figure 42 .
Figure 42.Part of the structure that allows us to compute and locate zeros of r.

Figure 43 .Example 14 .
Figure 43.Output given by the [AZeros] algorithm.Example 14.Let us use the nb format file associated with the [APoles] algorithm that allows the input of a rational function r to compute its poles and locate them (Figure44).

Figure 44 .
Figure 44.Part of the structure that allows us to compute and locate poles of r.We obtain the output presented in Figure45, which is used in Example 21 in Section 3.

Figure 47 .
Figure 47.Box with three options to insert the rational function r.

Figure 48 .
Figure 48.Part of the code structure of the [ASPPlusPMinus] algorithm that integrates the [APoles] algorithm and uses Mathematica's Solve command.

Example 15 .
Let us use Option 2 to input the rational function r (Figure49).

Figure 49 .
Figure 49.Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 2 to input r.

Figure 50 .Remark 7 .Example 16 .
Figure 50.Output given by the [ASPPlusPMinus] algorithm.Remark 7.This example considers the same rational function r as Example 4 but gives a correct output.Example 16.Let us use Option 1 to input the rational function r (Figure 51).

Figure 51 .
Figure 51.Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.

Figure 52 .Remark 8 .Example 17 .
Figure 52.Output given by the [ASPPlusPMinus] algorithm.Remark 8.This example considers the same rational function as Example 8 but gives a correct output.Example 17.Let us use Option 1 to input the rational function r (Figure 53).

Figure 53 .
Figure 53.Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.The [ASPPlusPMinus] algorithm, using Root objects, gives the output presented in Figure 54.

Figure 54 .Remark 9 .
Figure 54.Output given by the [ASPPlusPMinus] algorithm.Remark 9.This example considers the same rational function r as Example 9 but gives a correct output.

Figure 56 .
Figure 56.Part of the code structure of the [SInt] 2.0 algorithm responsible for validating x + .

Figure 57 .
Figure 57.Part of the code structure of the [SInt] 2.0 algorithm responsible for the input options.

[
SInt] 2.0 Algorithm Examples Example 18.Let us use Option 1 to input the rational function r and consider particular functions x + and y − (Figure 58).

Figure 58 .
Figure 58.Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.In this example, as the function x + is not validated by the algorithm (x + / ∈ R(T)), it is not possible to input any particular function y − .The output presented in Figure59is obtained.

Figure 59 .Remark 10 .
Figure 59.Output given by the [SInt] 2.0 algorithm.Remark 10.This example considers the same function x + as Example 5 but gives a correct output.Example 19.Let us use Option 1 to input the rational function r and consider particular functions x + and y − (Figure 60).

Figure 60 .
Figure 60.Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.In this example, as the function x + is not validated by the algorithm (x + / ∈ R + (T)), it is not possible to input any particular function y − .The output presented in Figure61is obtained.

Figure 61 .
Figure 61.Output given by the [SInt] 2.0 algorithm.Remark 11.This example considers the same function x + as Example 6 but gives a correct output.Example 20.Let us use Option 1 to input the rational function r and a particular function x + (Figure 62).Let us consider a general expression for the function y − .

Figure 62 .
Figure 62.Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.

Figure 63 .Remark 12 .
Figure 63.Output given by the [SInt] 2.0 algorithm.Remark 12.This example considers the same function x + as Example 8 but gives a correct output.Example 21.Let us use Option 1 to input the rational function r (Figure 64).Let us consider general expressions for the functions x + and y − .

Figure 64 .
Figure 64.Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.

Figure 65 .Remark 13 .
Figure 65.Output given by the [SInt] 2.0 algorithm.Remark 13.This example considers the same function r as Example 9 but gives a correct output in terms of Root objects.

Figure 66 .
Figure 66.Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.