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] 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] 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 denote the unit circle in the complex plane. Let and denote the open unit disk and the exterior region of the unit circle (∞ included), respectively. As usual, denotes the space of all essentially bounded functions defined on and the class of all bounded and analytic functions in . Let be the algebra of rational functions without poles on and the subsets of whose elements have no poles in , 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, , defined almost everywhere on , by
where the integral is understood in the sense of its principal value, represents a bounded linear operator in the Lebesgue space . In addition, is a selfadjoint and unitary operator in [17]. Thus, we can associate with two complementary Cauchy projection operators
where I represents the identity operator.
The projectors (2) allow us to decompose the algebra in the topological direct sum
where and . We also have .
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
where and .
The algorithm extensively uses the properties of the projection operators (2) that emerge when those operators are applied to functions in (e.g., ) and in , (e.g., ). [SInt] also explores the rationality of 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 and , or it can compute the closed form of (1) as a general expression in and .
There are three options to insert the rational function :
- Input 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 , a function in and a function whose conjugate is in . 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 or 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 , , and , the [SInt] algorithm computes the singular integrals and , for and .
It should be noted that it is up to the user to introduce valid r, and 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 and (Figure 2).
Figure 1.
Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.
Figure 2.
Part of the structure of the [SInt] algorithm corresponding to the Input of and .
The [SInt] algorithm gives the singular integrals presented in Figure 3.
Figure 3.
Output given by the [SInt] algorithm.
Remark 1.
In this example, we should interpret that the [SInt] algorithm considers , taking into account that in the input (which allows you to include arbitrary constants), .
Example 2.
Let us use Option 2 to input the rational function r (Figure 4). Let us consider a general expression for the function and (Figure 5).
Figure 4.
Part of the structure of the [SInt] algorithm corresponding to the Option 2 to input r.
Figure 5.
Part of the structure of the [SInt] algorithm corresponding to the input of and .
The [SInt] algorithm gives the singular integrals presented in Figure 6.
Figure 6.
Output given by the [SInt] algorithm.
Example 3.
Let us use Option 3 to input the rational function r (Figure 7).
Figure 7.
Part of the structure of the [SInt] algorithm corresponding to Option 3 to input r.
Let us consider a general expression for the functions and (Figure 8).
Figure 8.
Part of the structure of the [SInt] algorithm corresponding to the input of and .
The [SInt] algorithm gives the singular integrals presented in Figure 9.
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 .
Example 4.
Let us use Option 2 to input the rational function r (Figure 10) and general expressions for the functions and .
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 .
Figure 11.
Output given by the [SInt] algorithm.
Example 5.
Let us use Option 1 to input the rational function r (Figure 12) and particular functions and (Figure 13)..
Figure 12.
Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Figure 13.
Part of the structure of the [SInt] algorithm corresponding to the input of and .
The [SInt] algorithm gives the incorrect output presented in Figure 14 since .
Figure 14.
Output given by the [SInt] algorithm.
Something similar would happen for an inputed function with one pole on .
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 and are inputed.
Example 6.
Let us use Option 1 to input the rational function r (Figure 15). Let us consider particular functions and (Figure 16).
Figure 15.
Part of the structure of the [SInt] algorithm corresponding to the Option 1 to input r.
Figure 16.
Part of the structure of the [SInt] algorithm corresponding to the Input of and .
The [SInt] algorithm gives the incorrect output presented in Figure 17 since and are non-valid functions.
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.
Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Let us consider particular functions and (Figure 19). The [SInt] algorithm gives the incorrect output presented in Figure 20 since and are non-valid functions.
Figure 19.
Part of the structure of the [SInt] algorithm corresponding to the input of and .
Figure 20.
Output given by the [SInt] algorithm.
Remark 3.
The Situation 2 is resolved, for the rational case, in the [SInt] 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 and presented in Figure 22.
Figure 21.
Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Figure 22.
Part of the structure of the [SInt] algorithm corresponding to the input of and .
The [SInt] algorithm gives the incorrect output presented in Figure 23 since it cannot identify the poles of the function and assumes that (in this case, , that is, is an non-valid input).
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.
Part of the structure of the [SInt] algorithm corresponding to Option 1 to input r.
Let us consider a general expression for the functions and (Figure 25).
Figure 25.
Part of the structure of the [SInt] algorithm corresponding to the input of and .
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 , , and ).
Figure 26.
Output given by the [SInt] algorithm.
Remark 4.
Situation 3 is also resolved in the [SInt] 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 , the location of the roots relative to , , and . It is also possible to ask for an approximate value of a desired root.
There are two options to insert the polynomial (see Figure 27).
Figure 27.
Part of the code structure of the [ARoot] algorithm responsible for the input options for the polynomial p.
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).
Figure 28.
Part of the code structure of the [ARoot] algorithm responsible for the computation of the roots of p.
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.
When the user uses Option 1, it is possible to ask for an approximate value of a desired root (see 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 contains the flowchart of the [ARoots] algorithm.
Figure 31.
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 , the algorithm gives the number of roots in , , and .
Example 10.
Let us insert directly the polynomial p (Figure 32). The algorithm gives the roots in , , and (Figure 33) and gives the opportunity to the user to obtain an approximate value of the roots (Figure 34).
Figure 32.
Part of the structure of the [ARoots] algorithm corresponding to the Option 1 to input p.
Figure 33.
Output given by the [ARoots] algorithm.
Figure 34.
Part of the structure of the [ARoots] algorithm corresponding to the option to get an approximate root value.
[ARoots] algorithm gives the extra output presented in Figure 35.
Figure 35.
Output given by the [ARoots] algorithm.
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).
Figure 36.
Part of the structure of the [ARoots] algorithm corresponding to Option 1 to input p.
The algorithm gives the roots in , , and (Figure 37).
Figure 37.
Output given by the [ARoots] algorithm.
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 , , and .
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 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 contains the flowcharts of the [AZeros] and [APoles] algorithms.
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 , the algorithm creates a list of complex numbers and gives the information of which zeros/poles are located in , , and .
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.
Part of the structure that allows the computation of the zeros and poles of r.
We obtain the output presented in Figure 41.
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 (Figure 42).
Figure 42.
Part of the structure that allows us to compute and locate zeros of r.
We obtain the output presented in Figure 43.
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 (Figure 44).
Figure 44.
Part of the structure that allows us to compute and locate poles of r.
Figure 45.
Output given by the [APoles] algorithm.
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 , and 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 , and 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] algorithm described in Section 3.2.
Figure 46 contains the flowchart of the [ASPPlusPMinus] algorithm.
Figure 46.
Flowchart of the [ASPPlusPMinus] algorithm.
The algorithm allows three input options for the rational function (Figure 47).
Figure 47.
Box with three options to insert the rational function r.
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).
Figure 48.
Part of the code structure of the [ASPPlusPMinus] algorithm that integrates the [APoles] algorithm and uses Mathematica’s Solve command.
[ASPPlusPMinus] Algorithm Examples
Let us now present nontrivial examples computed with the [ASPPlusPMinus] algorithm. For each inputed rational function r, defined in , the algorithm validates whether the function belongs to algebra and, if so, computes the singular integrals , , and .
Example 15.
Let us use Option 2 to input the rational function r (Figure 49).
Figure 49.
Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 2 to input r.
[ASPPlusPMinus] algorithm gives the output presented in Figure 50.
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.
Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.
[ASPPlusPMinus] algorithm gives the output presented in Figure 52.
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.
Part of the structure of the [ASPPlusPMinus] algorithm corresponding to Option 1 to input r.
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.
3.2. [SInt] Algorithm
This subsection is dedicated to a formal description of the [SInt] algorithm (An improved version of the [SInt] algorithm described in [2].), which computes the singular integrals and for given functions and , where and .
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 and are inputed, the algorithm also checks if and have poles at . 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 and , which are not rational functions (Example 22). In this case, the algorithm provides the general expression of the singular integrals and in terms of projection operator but does not give an incorrect output (as the [SInt] algorithm).
The flowchart of the [SInt] algorithm is presented in Figure 55.
Figure 55.
Flowchart of the [SInt] algorithm.
This algorithm integrates parts of the code structure of the [ASPPlusPMinus] algorithm and uses similar methodologies to validate inputed functions and in the rational case (Figure 56).
Figure 56.
Part of the code structure of the [SInt] algorithm responsible for validating .
There are three options to insert the rational function . Functions and can be particular functions or functions in their general form (Figure 57).
Figure 57.
Part of the code structure of the [SInt] algorithm responsible for the input options.
If is a rational function introduced in a particular way, the algorithm checks if has poles in the unit circle or in , and similarly, the algorithm checks if the rational function has poles in .
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 and when introduced as particular rational functions, the use of arbitrary constants is not allowed (as in Example 1).
[SInt] Algorithm Examples
Example 18.
Let us use Option 1 to input the rational function r and consider particular functions and (Figure 58).
Figure 58.
Part of the structure of the [SInt] algorithm responsible for the input options.
In this example, as the function is not validated by the algorithm (), it is not possible to input any particular function . The output presented in Figure 59 is obtained.
Figure 59.
Output given by the [SInt] algorithm.
Remark 10.
This example considers the same function 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 and (Figure 60).
Figure 60.
Part of the structure of the [SInt] algorithm responsible for the input options.
In this example, as the function is not validated by the algorithm (), it is not possible to input any particular function . The output presented in Figure 61 is obtained.
Figure 61.
Output given by the [SInt] algorithm.
Remark 11.
This example considers the same function 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 (Figure 62). Let us consider a general expression for the function .
Figure 62.
Part of the structure of the [SInt] algorithm responsible for the input options.
In this example, despite the polynomial degree of the denominator of the function , it is possible to identify that is not a valid function.
The output presented in Figure 63 is obtained.
Figure 63.
Output given by the [SInt] algorithm.
Remark 12.
This example considers the same function 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 and .
Figure 64.
Part of the structure of the [SInt] algorithm responsible for the input options.
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.
Figure 65.
Output given by the [SInt] algorithm.
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 and (Figure 66).
Figure 66.
Part of the structure of the [SInt] algorithm responsible for the input options.
In this example, as is not a rational function, the algorithm cannot identify that it is a valid function. The [SInt] algorithm provides the general expression of the singular integrals and in terms of projection operator , 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).
Figure 67.
Piece of code removed from [SInt] algorithm.
We obtain the output presented in Figure 68.
Figure 68.
Output given by the [SInt] algorithm.
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
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Ablowitz, M.J.; Clarkson, P.A. Solitons, Nonlinear Evolution Equations and Inverse Scattering; Cambridge University Press: Cambridge, UK, 1991. [Google Scholar]
- 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]
- 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]
- Faddeev, L.D.; Takhatayan, L. Hamiltonian Methods in the Theory of Solitons; Springer: Berlin, Germany, 1987. [Google Scholar]
- 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]
- Litvinchuk, G.S. Solvability Theory of Boundary Value Problems and Singular Integral Equations with Shift; Kluwer Academic Publishers: Dordrecht, The Netherlands, 2000. [Google Scholar]
- Litvinchuk, G.S.; Spitkovskii, I.M. Factorization of Measurable Matrix Functions. In Operator Theory: Advances and Applications; Birkhäuser: Basel, Switzerland, 1987. [Google Scholar]
- Prössdorf, S. Some Classes of Singular Equations; Elsevier: Amsterdam, The Netherlands, 1978. [Google Scholar]
- Gohberg, I.; Krupnik, N. One-Dimensional Linear Singular Integral Equations. In Operator Theory: Advances and Applications; Birkhäuser: Basel, Switzerland, 1992. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).