Next Article in Journal
Taming Hyperchaos with Exact Spectral Derivative Discretization Finite Difference Discretization of a Conformable Fractional Derivative Financial System with Market Confidence and Ethics Risk
Next Article in Special Issue
Comparison of Symbolic Computations for Solving Linear Delay Differential Equations Using the Laplace Transform Method
Previous Article in Journal
Predictive Maintenance in the Automotive Sector: A Literature Review
Previous Article in Special Issue
Dynamic and Interactive Tools to Support Teaching and Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Symbolic Computation Applied to Cauchy Type Singular Integrals

by
Ana C. Conceição
* and
Jéssica C. Pires
Center for Functional Analysis, Linear Structures and Applications (CEAFEL), Faculdade de Ciências e Tecnologia, Universidade do Algarve, Campus de Gambelas, 8005-139 Faro, Portugal
*
Author to whom correspondence should be addressed.
Math. Comput. Appl. 2022, 27(1), 3; https://doi.org/10.3390/mca27010003
Submission received: 29 October 2021 / Revised: 27 December 2021 / Accepted: 29 December 2021 / Published: 31 December 2021

Abstract

:
The development of operator theory is stimulated by the need to solve problems emerging from several fields 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 first 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, defined 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.

1. 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 Section 2.3 and Section 2.4. Section 2 and Section 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.

2. 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.

2.1. 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
S T φ ( t ) = 1 π i T φ ( τ ) τ t d τ , t T ,
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
P ± = ( I ± S T ) / 2 ,
where I represents the identity operator.
The projectors (2) allow us to decompose the algebra R ( T ) in the topological direct sum
R ( T ) = R + ( T ) R 0 ( T )
where R + ( T ) = P + R ( T ) and R 0 ( T ) = P R ( T ) . We also have R ( T ) = R 0 ( T ) C .

2.2. [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
φ ( t ) = r ( t ) [ x + ( t ) + y ( t ) ] ,
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 r ( t ) directly;
  • Input the numerator and the poles and multiplicities;
  • 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).

2.2.1. [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.
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 (Figure 4). Let us consider a general expression for the function y and x + ( t ) = ( t i ) 3 (Figure 5).
The [SInt] algorithm gives the singular integrals presented in Figure 6.
Example 3.
Let us use Option 3 to input the rational function r (Figure 7).
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.

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 .
The [SInt] algorithm gives the incorrect output presented in Figure 11 since r R ( T ) .
Example 5.
Let us use Option 1 to input the rational function r (Figure 12) and particular functions x + and y (Figure 13)..
The [SInt] algorithm gives the incorrect output presented in Figure 14 since x + R ( T ) .
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).
The [SInt] algorithm gives the incorrect output presented in Figure 17 since x + and y are non-valid functions.
Example 7.
Let us use Option 1 to input the rational function r (Figure 18).
Let us consider particular functions x + and y (Figure 19). The [SInt] algorithm gives the incorrect output presented in Figure 20 since x + and y are non-valid functions.
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.
The [SInt] algorithm gives the incorrect output presented in Figure 23 since 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).
Example 9.
Let us use Option 1 to input the rational function r (Figure 24).
Let us consider a general expression for the functions x + and y (Figure 25).
The [SInt] algorithm gives the incorrect output presented in Figure 26 since, 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 ).
Remark 4.
Situation 3 is also resolved in the [SInt] 2.0 algorithm, described in Section 3.

2.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).
Figure 31 contains the flowchart of the [ARoots] algorithm.

[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.
Remark 5.
This example is related with Example 8 in Section 2.2.2.
Example 11.
Let us insert directly the polynomial p (Figure 36).
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.

2.4. [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.
Figure 39 contains the 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).
We obtain the output presented in Figure 41.
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 (Figure 42).
We obtain the output presented in Figure 43.
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 (Figure 44).
We obtain the output presented in Figure 45, which is used in Example 21 in Section 3.

3. 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.

3.1. [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 ) .
Example 15.
Let us use Option 2 to input the rational function r (Figure 49).
[ASPPlusPMinus] algorithm gives the output presented in Figure 50.
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).
[ASPPlusPMinus] algorithm gives the output presented in Figure 52.
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).
The [ASPPlusPMinus] algorithm, usingRootobjects, gives the output presented in Figure 54.
Remark 9.
This example considers the same rational function r as Example 9 but gives a correct output.

3.2. [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).

[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).
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 Figure 59 is obtained.
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).
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 Figure 61 is obtained.
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 .
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.
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 .
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.
Remark 13.
This example considers the same function r as Example 9 but gives a correct output in terms of Root objects.
Example 22.
Let us use Option 1 to input the rational function r and consider particular functions x + and y (Figure 66).
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.

4. 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.

Supplementary Materials

The following algorithms are available online at https://www.mdpi.com/article/10.3390/mca27010003/s1, Algorithm S1: ARoots; Algorithm S2: AZeros; Algorithm S3: APoles; Algorithm S4: ASPPlusPMinus; Algorithm S5: SInt2.0.

Author Contributions

The new operator theory algorithms presented in this paper were designed and implemented by A.C.C. and J.C.P. The conceptualization and methodology was performed by A.C.C. The paper was written by A.C.C. All authors reviewed the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by FCT/MCTES (PIDDAC) within the project CEAFEL UIDB/04721/2020–IST-ID, grant 1801P.00956.1.01.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Conceição, A.C. Symbolic Computation Applied to the Study of the Kernel of Special Classes of Paired Singular Integral Operators. Math. Comput. Sci. 2021, 15, 63–90. [Google Scholar] [CrossRef]
  2. Conceição, A.C.; Kravchenko, V.G.; Pereira, J.C. Computing some classes of Cauchy type singular integrals with Mathematica software. Adv. Comput. Math. 2013, 39, 273–288. [Google Scholar] [CrossRef]
  3. Conceição, A.C.; Kravchenko, V.G.; Pereira, J.C. Rational functions factorization algorithm: A symbolic computation for the scalar and matrix cases. In Proceedings of the 1st National Conference on Symbolic Computation in Education and Research, Lisboa, Portugal, 2–3 April 2012. [Google Scholar]
  4. Conceição, A.C.; Kravchenko, V.G.; Pereira, J.C. Factorization Algorithm for Some Special Non-rational Matrix Functions. In Operator Theory: Advances and Applications; Birkhäuser Verlag: Basel, Switzerland, 2010; Volume 202, pp. 87–109. [Google Scholar]
  5. Conceição, A.C.; Pereira, J.C. Exploring the spectra of some classes of singular integral operators with symbolic computation. Math. Comput. Sci. 2016, 10, 291–309. [Google Scholar] [CrossRef]
  6. Conceição, A.C.; Kravchenko, V.G. About explicit factorization of some classes of non-rational matrix functions. Math. Nachr. 2007, 280, 1022–1034. [Google Scholar] [CrossRef]
  7. Castro, L.P.; Rojas, E.M.; Saitoh, S.; Tuan, N.M. Solvability of singular integral equations with rotations and degenerate kernels in the vanishing coefficient case. Anal. Appl. 2015, 13, 1–21. [Google Scholar] [CrossRef] [Green Version]
  8. Conceição, A.C.; Marreiros, R.C.; Pereira, J.C. Symbolic computation applied to the study of the kernel of a singular integral operator with non-Carleman shift and conjugation. Math. Comput. Sci. 2016, 10, 365–386. [Google Scholar] [CrossRef]
  9. Ablowitz, M.J.; Clarkson, P.A. Solitons, Nonlinear Evolution Equations and Inverse Scattering; Cambridge University Press: Cambridge, UK, 1991. [Google Scholar]
  10. Aktosun, T.; Klaus, M.; van der Mee, C. Explicit Wiener–Hopf factorization for certain non-rational matrix functions. Integral Equ. Oper. Theory 1992, 15, 879–900. [Google Scholar] [CrossRef]
  11. Clancey, K.; Gohberg, I. Factorization of Matrix Functions and Singular Integral Operators. In Operator Theory: Advances and Applications; Birkhäuser Verlag: Basel, Switzerland, 1981. [Google Scholar]
  12. Faddeev, L.D.; Takhatayan, L. Hamiltonian Methods in the Theory of Solitons; Springer: Berlin, Germany, 1987. [Google Scholar]
  13. Kravchenko, V.G.; Litvinchuk, G.S. Introdution to the Theory of Singular Integral Operators with Shift; Kluwer Academic Publishers: Dordrecht, The Netherlands, 1994. [Google Scholar]
  14. Litvinchuk, G.S. Solvability Theory of Boundary Value Problems and Singular Integral Equations with Shift; Kluwer Academic Publishers: Dordrecht, The Netherlands, 2000. [Google Scholar]
  15. Litvinchuk, G.S.; Spitkovskii, I.M. Factorization of Measurable Matrix Functions. In Operator Theory: Advances and Applications; Birkhäuser: Basel, Switzerland, 1987. [Google Scholar]
  16. Prössdorf, S. Some Classes of Singular Equations; Elsevier: Amsterdam, The Netherlands, 1978. [Google Scholar]
  17. Gohberg, I.; Krupnik, N. One-Dimensional Linear Singular Integral Equations. In Operator Theory: Advances and Applications; Birkhäuser: Basel, Switzerland, 1992. [Google Scholar]
Figure 1. Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.
Figure 1. Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.
Mca 27 00003 g001
Figure 2. Part of the structure of the [SInt] algorithm corresponding to the Input of x + and y .
Figure 2. Part of the structure of the [SInt] algorithm corresponding to the Input of x + and y .
Mca 27 00003 g002
Figure 3. Output given by the [SInt] algorithm.
Figure 3. Output given by the [SInt] algorithm.
Mca 27 00003 g003
Figure 4. Part of the structure of the [SInt] algorithm corresponding to the Option 2 to input r.
Figure 4. Part of the structure of the [SInt] algorithm corresponding to the Option 2 to input r.
Mca 27 00003 g004
Figure 5. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Figure 5. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Mca 27 00003 g005
Figure 6. Output given by the [SInt] algorithm.
Figure 6. Output given by the [SInt] algorithm.
Mca 27 00003 g006
Figure 7. Part of the structure of the [SInt] algorithm corresponding to Option 3 to input r.
Figure 7. Part of the structure of the [SInt] algorithm corresponding to Option 3 to input r.
Mca 27 00003 g007
Figure 8. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Figure 8. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Mca 27 00003 g008
Figure 9. Output given by the [SInt] algorithm.
Figure 9. Output given by the [SInt] algorithm.
Mca 27 00003 g009
Figure 10. Part of the structure of the [SInt] algorithm corresponding to Option 2 to input r.
Figure 10. Part of the structure of the [SInt] algorithm corresponding to Option 2 to input r.
Mca 27 00003 g010
Figure 11. Output given by the [SInt] algorithm.
Figure 11. Output given by the [SInt] algorithm.
Mca 27 00003 g011
Figure 12. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Figure 12. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Mca 27 00003 g012
Figure 13. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Figure 13. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Mca 27 00003 g013
Figure 14. Output given by the [SInt] algorithm.
Figure 14. Output given by the [SInt] algorithm.
Mca 27 00003 g014
Figure 15. Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.
Figure 15. Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.
Mca 27 00003 g015
Figure 16. Part of the structure of the [SInt] algorithm corresponding to the Input of x + and y .
Figure 16. Part of the structure of the [SInt] algorithm corresponding to the Input of x + and y .
Mca 27 00003 g016
Figure 17. Output given by the [SInt] algorithm.
Figure 17. Output given by the [SInt] algorithm.
Mca 27 00003 g017
Figure 18. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Figure 18. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Mca 27 00003 g018
Figure 19. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Figure 19. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Mca 27 00003 g019
Figure 20. Output given by the [SInt] algorithm.
Figure 20. Output given by the [SInt] algorithm.
Mca 27 00003 g020
Figure 21. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Figure 21. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Mca 27 00003 g021
Figure 22. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Figure 22. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Mca 27 00003 g022
Figure 23. Output given by the [SInt] algorithm.
Figure 23. Output given by the [SInt] algorithm.
Mca 27 00003 g023
Figure 24. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Figure 24. Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Mca 27 00003 g024
Figure 25. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Figure 25. Part of the structure of the [SInt] algorithm corresponding to the input of x + and y .
Mca 27 00003 g025
Figure 26. Output given by the [SInt] algorithm.
Figure 26. Output given by the [SInt] algorithm.
Mca 27 00003 g026
Figure 27. Part of the code structure of the [ARoot] algorithm responsible for the input options for the polynomial p.
Figure 27. Part of the code structure of the [ARoot] algorithm responsible for the input options for the polynomial p.
Mca 27 00003 g027
Figure 28. Part of the code structure of the [ARoot] algorithm responsible for the computation of the roots of p.
Figure 28. Part of the code structure of the [ARoot] algorithm responsible for the computation of the roots of p.
Mca 27 00003 g028
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 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.
Mca 27 00003 g029
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 30. Part of the code structure of the [ARoots] algorithm code corresponding to the computation of an approximate value of a desired root.
Mca 27 00003 g030
Figure 31. Flowchart of the [ARoots] algorithm.
Figure 31. Flowchart of the [ARoots] algorithm.
Mca 27 00003 g031
Figure 32. Part of the structure of the [ARoots] algorithm corresponding to the Option 1 to input p.
Figure 32. Part of the structure of the [ARoots] algorithm corresponding to the Option 1 to input p.
Mca 27 00003 g032
Figure 33. Output given by the [ARoots] algorithm.
Figure 33. Output given by the [ARoots] algorithm.
Mca 27 00003 g033
Figure 34. Part of the structure of the [ARoots] algorithm corresponding to the option to get an approximate root value.
Figure 34. Part of the structure of the [ARoots] algorithm corresponding to the option to get an approximate root value.
Mca 27 00003 g034
Figure 35. Output given by the [ARoots] algorithm.
Figure 35. Output given by the [ARoots] algorithm.
Mca 27 00003 g035
Figure 36. Part of the structure of the [ARoots] algorithm corresponding to Option 1 to input p.
Figure 36. Part of the structure of the [ARoots] algorithm corresponding to Option 1 to input p.
Mca 27 00003 g036
Figure 37. Output given by the [ARoots] algorithm.
Figure 37. Output given by the [ARoots] algorithm.
Mca 27 00003 g037
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 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.
Mca 27 00003 g038
Figure 39. Flowcharts of the [AZeros] and [APoles] algorithms.
Figure 39. Flowcharts of the [AZeros] and [APoles] algorithms.
Mca 27 00003 g039
Figure 40. Part of the structure that allows the computation of the zeros and poles of r.
Figure 40. Part of the structure that allows the computation of the zeros and poles of r.
Mca 27 00003 g040
Figure 41. Output given by the [AZeros] and [APoles] algorithms.
Figure 41. Output given by the [AZeros] and [APoles] algorithms.
Mca 27 00003 g041
Figure 42. Part of the structure that allows us to compute and locate zeros of r.
Figure 42. Part of the structure that allows us to compute and locate zeros of r.
Mca 27 00003 g042
Figure 43. Output given by the [AZeros] algorithm.
Figure 43. Output given by the [AZeros] algorithm.
Mca 27 00003 g043
Figure 44. Part of the structure that allows us to compute and locate poles of r.
Figure 44. Part of the structure that allows us to compute and locate poles of r.
Mca 27 00003 g044
Figure 45. Output given by the [APoles] algorithm.
Figure 45. Output given by the [APoles] algorithm.
Mca 27 00003 g045
Figure 46. Flowchart of the [ASPPlusPMinus] algorithm.
Figure 46. Flowchart of the [ASPPlusPMinus] algorithm.
Mca 27 00003 g046
Figure 47. Box with three options to insert the rational function r.
Figure 47. Box with three options to insert the rational function r.
Mca 27 00003 g047
Figure 48. Part of the code structure of the [ASPPlusPMinus] algorithm that integrates the [APoles] algorithm and uses Mathematica’s Solve command.
Figure 48. Part of the code structure of the [ASPPlusPMinus] algorithm that integrates the [APoles] algorithm and uses Mathematica’s Solve command.
Mca 27 00003 g048
Figure 49. Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 2 to input r.
Figure 49. Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 2 to input r.
Mca 27 00003 g049
Figure 50. Output given by the [ASPPlusPMinus] algorithm.
Figure 50. Output given by the [ASPPlusPMinus] algorithm.
Mca 27 00003 g050
Figure 51. Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.
Figure 51. Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.
Mca 27 00003 g051
Figure 52. Output given by the [ASPPlusPMinus] algorithm.
Figure 52. Output given by the [ASPPlusPMinus] algorithm.
Mca 27 00003 g052
Figure 53. Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.
Figure 53. Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.
Mca 27 00003 g053
Figure 54. Output given by the [ASPPlusPMinus] algorithm.
Figure 54. Output given by the [ASPPlusPMinus] algorithm.
Mca 27 00003 g054
Figure 55. Flowchart of the [SInt] 2.0 algorithm.
Figure 55. Flowchart of the [SInt] 2.0 algorithm.
Mca 27 00003 g055
Figure 56. Part of the code structure of the [SInt] 2.0 algorithm responsible for validating x + .
Figure 56. Part of the code structure of the [SInt] 2.0 algorithm responsible for validating x + .
Mca 27 00003 g056
Figure 57. Part of the code structure of the [SInt] 2.0 algorithm responsible for the input options.
Figure 57. Part of the code structure of the [SInt] 2.0 algorithm responsible for the input options.
Mca 27 00003 g057
Figure 58. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Figure 58. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Mca 27 00003 g058
Figure 59. Output given by the [SInt] 2.0 algorithm.
Figure 59. Output given by the [SInt] 2.0 algorithm.
Mca 27 00003 g059
Figure 60. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Figure 60. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Mca 27 00003 g060
Figure 61. Output given by the [SInt] 2.0 algorithm.
Figure 61. Output given by the [SInt] 2.0 algorithm.
Mca 27 00003 g061
Figure 62. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Figure 62. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Mca 27 00003 g062
Figure 63. Output given by the [SInt] 2.0 algorithm.
Figure 63. Output given by the [SInt] 2.0 algorithm.
Mca 27 00003 g063
Figure 64. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Figure 64. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Mca 27 00003 g064
Figure 65. Output given by the [SInt] 2.0 algorithm.
Figure 65. Output given by the [SInt] 2.0 algorithm.
Mca 27 00003 g065
Figure 66. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Figure 66. Part of the structure of the [SInt] 2.0 algorithm responsible for the input options.
Mca 27 00003 g066
Figure 67. Piece of code removed from [SInt] algorithm.
Figure 67. Piece of code removed from [SInt] algorithm.
Mca 27 00003 g067
Figure 68. Output given by the [SInt] 2.0 algorithm.
Figure 68. Output given by the [SInt] 2.0 algorithm.
Mca 27 00003 g068
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Conceição, A.C.; Pires, J.C. Symbolic Computation Applied to Cauchy Type Singular Integrals. Math. Comput. Appl. 2022, 27, 3. https://doi.org/10.3390/mca27010003

AMA Style

Conceição AC, Pires JC. Symbolic Computation Applied to Cauchy Type Singular Integrals. Mathematical and Computational Applications. 2022; 27(1):3. https://doi.org/10.3390/mca27010003

Chicago/Turabian Style

Conceição, Ana C., and Jéssica C. Pires. 2022. "Symbolic Computation Applied to Cauchy Type Singular Integrals" Mathematical and Computational Applications 27, no. 1: 3. https://doi.org/10.3390/mca27010003

Article Metrics

Back to TopTop