# Basis Functions for a Transient Analysis of Linear Commensurate Fractional-Order Systems
## 8 Numerical Aspects  
Reliable algorithms for computing the basis functions are necessary for an accurate and fast computation of waveforms from their semi-symbolic formulas that use these functions.  
Table 5 shows that all the basis functions for FOS can be uniformly generated with [PERSON]'s function (28) \(\epsilon_{k}(t,\,a+\text{i}b;\,\alpha,\,\alpha)\). In terms of numerical computations, it is a complex function of three real and one complex argument. Relation (28) defining this function contains the \(k\)-th derivative of the complex two-parameter MLF of the complex argument. The evaluation of this function can be approached either directly, i.e., with an algorithm for computing the derivatives of the two-parameter MLF, or indirectly by computing the three-parameter MLF, from which the derivatives of the two-parameter MLF can then be easily determined (see Table 1).  
A number of papers deal with the numerical calculation of MLF. Some of them have become the basis for developing robust algorithms for evaluating two- and three-parameter MLFs [30; 31]. Among the best known is the MATLAB function mlf.m of [PERSON] and [PERSON] [27], which computes the two-parameter MLF with a complex argument. However, since it is not designed to compute derivatives of MLFs, it cannot be used to compute the basis functions belonging to multiple poles. [PERSON]'s ml.m function is available on the MATLAB Central File Exchange, allowing for computing one-parameter, two-parameter and three-parameter MLFs [29]. Thus, the ml.m function allows for computing the derivative of the two-parameter MLF indirectly, using three-parameter MLFs. The corresponding routine, which implements the optimal parabolic contour (OPC) algorithm described in [33], is based on the inversion of the Laplace transform on a parabolic contour suitably chosen in one of the regions of analyticity of the Laplace transform [29]. However, there are some limitations in computing three-parameter MLFs via the ml.m: the parameter \(\alpha\) must be greater than 0 and less than 1, and the absolute value of the complex argument of the MLF must not be less than \(\alpha\pi\) radians. In particular, the second condition can pose a significant limitation for computing derivatives of the two-parameter MLF as part of [PERSON]'s generating function.  
To evaluate two-parameter MLFs and their derivatives, it is convenient to use another MATLAB function, ml_deriv(\(\alpha,\,\beta,\,k,\,z\)) by [PERSON]. The function computes the \(k\)-th derivative of the MLF with the parameters \(\alpha\) and \(\beta\) at each entry of the complex vector \(z\). Derivatives of the ML function are evaluated by exploiting an algorithm combining (by means of the derivative balancing technique devised in [31]) the Taylor series, a summation formula based on the Prabhakar function and the numerical inversion of the Laplace transform obtained after generalizing the algorithm described in [33]. The function was successfully tested in [25] for the accuracy of computing the derivatives. Based on the results published in [25], the given algorithm was used to evaluate the basis functions of Table 5, which belong to all kinds of poles, real or complex, simple or with a general multiplicity. The algorithm from ml_deriv is also continuously implemented in the current versions of SNAP for symbolic, semi-symbolic and numerical analyses of analog fractional-order circuits [14].