High Speed Computation Programs of Fractional Integrals and Differentials
Paper from 'A highspeed algorithm for computation of fractional differentiation and fractional integration'
Library of High Speed Computation of
Fractional Order Differentiation and Integration
(MATLAB Function Version)
(C Language Version)
2016.6
MotionLabo, Inc.
The libraries provided here include the programs that execute numerical calculations of fractional order differentiation and integration.
The programs in the libraries, with the data compression based on the algorithm proposed by Fukunaga and Shimizu (2013), execute highspeed numerical computations of fractional order differentiation and integration of given functions, of numerical integration of fractional differential (and/or integral) equations that include fractional order derivatives (and/or fractional order integrations), and of data analysis based on the solutions of fractional differential (and/or integral) equations.
The library is called to calculate fractional derivatives (and/or integrals) in a main program, in which a fractional differential (and/or integral) equation is solved. Several sample programs are provided for instruction of the library. Please refer the sample programs shown later.
The libraries are provided a type of “MATLAB version” and three types of “C language versions.”
In the highspeed algorithm, the precision is controlled by five parameters, which include time step size h, and the order of approximation K. The precision and the computing cost appropriate for individual problems are determined by combination of the values of the parameters. We offer several type computation libraries suitable for the purposes of computation.
In MATLABA1 and CA1, which are given Table 1 below, other parameters than h are all set as default value. This simplifies the precision setting. The precision is controlled by h as in usual numerical integration for differential equations. The highest precision is achieved when h is taken about 1/100 of characteristic time of function change. (The characteristic time, or the dynamical time, is defined as the time in which a bounded function changes its value by its amplitude. As for the sine function, sin (kt), the dynamical time is 1/k.) MATLABA1 and CA1 types are suited for computation of fractional differentiation of functions, simulation of small sized problems with several variables, data analysis, etc.
For computations with higher precision, the higher order of approximation is necessary. In CB1, the order K=3 is taken so that computations with higher precision can be achieved comparing to CA1. The maximal accuracy as a whole is obtained when h satisfies h=Td/1000, where Td is the dynamical time of the function in consideration. In addition to h, the parameter M is provided in order to control the accuracy of calculation. At a given h, the best accuracy and cost is obtained whenanother parameter M is chosen to satisfy a certain condition.CB1 can compute problems of middle sized simulations and problems covered by CA1.
In CC1, all the parameters except for K=4 can be chosen in hand to control the precision of calculation of fractional derivatives. In programming, the parameters can be chosen freely, which provides best precision suited for individual purpose with minimal computing cost. With the order K=4, the highest precision can be obtained which is achievable in the double precision programming. CC1 is suited for large sized simulations and the problems covered by CB1 .
Table 1 Performance list (* note)
Product 
Category No. 
Application fields 
K 
Step no. 
Minimal Error 
On sale 
MATLAB Standard 
MA1 
Introductory and small sized simulation 
2 
40,960 
3×10^{－}^{5} 
In preparation 
C Standard 
CA1 
Introductory and small sized simulation 
2 
163,840 
3×10^{－}^{5} 
Coming soon 
C High Grade 
CB1 
Middle sized simulation 
3 
163,840 
3 10^{－}^{7} 
Available Now 
C Professional 
CC1 
Large sized simulation 
4 
Unlimited 
3×10^{－}^{11} 
In preparation 
Fortran Professional 
FC1 
In preparation 
(*note in Table 1)
 MATLAB Standard program is offered as a .p function type. In C language, the programs are offered in the form of lib (for Windows) or .a (for Mac).
 In MATLAB Standard program, a number of variables fractionally differentiated is less and equal to 3. In C language programs, there is no limitation on a number of variables fractionally differentiated.
 The relative errors in the table are rough estimate for fractional derivative of a single function. The precision is dependent on type of differentiations, type of individual functions, or type of simultaneous equations.
 The maximal steps for CB1 tabulated in Table 1 is for larger h. For small h with large M(>40), the maximal step increases with M for M =< 400
 In the C language programs, we provide optional libraries in which multipleorder fractional derivatives and integrals can be calculated.
 In the CC1 library, the three fractional orders can be calculated as the standard option.
 Fortran language programs are now under developing.
Table2 Calculation speed (M = 40)
steps 
CA1 [s] 
CB1 [s] 
CC1 [s] 
FC1 [s] 
General Method [s] 
1000 
0.0012 
0.00105 
0.00105 
0.00089 
0.00143 
2000 
0.0030 
0.0030 
0.0026 
0.00207 
0.0055 
5000 
0.0089 
0.0091 
0.0073 
0.0061 
0.033 
10,000 
0.0197 
0.0181 
0.0157 
0.0138 
0.132 
20,000 
0.043 
0.041 
0.032 
0.030 
0.52 
50,000 
0.115 
0.120 
0.092 
0.086 
3.3 
100,000 
0.255 
0.264 
0.193 
0.188 
15.1 
1,000,000 


2.24 
2.17 
(1500) 
(Operating environment:Mac OSX version 10.9.5, cpu: 3.1 GHz, memory: 16GB)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Price: For one license per one PC
MATLAB Standard (MA1): US$ 105 (includes Japanese tax) In preparation
C Standard (CA1): US$ 315 (includes Japanese tax) Coming Soon!
C High Grade (CB1): US$ 525 (includes Japanese tax) Available Now
C Professional (CC1): US$ 2,520 (includes Japanese tax) In preparation
//////////////////////////////////////////
Operating environment
Windows version
Windows7sp1 32bit, 62bit
CPU 2.4GHz or higher
Memory 2GB or higher
Microsoft Visual Studio 2015（for C Language Programs）

Mac version
Mac OSX version 10.9.5
CPU 2.4GHz or higher
Memory 2GB or higher
gcc version 4.9.2
//////////////////////////////////////////
For users’ reference, four typical program examples are given in the following link. Please click the corresponding link.
“Short course on fractional derivatives and integrals” is given in the following link.
Short course on fractional derivatives and integrals .pdf, click here
Inquiry and Order
Flow from order to receipt:
(1) You will pay the fee into order account. CB1:
(2) After checking the payment in the account, we will start to publish a license for your computer. We need “Host Name” and “Physical Address (for Local Area Connection)” of your PC for publishing the license.
(3) The ordered programs and related documents will be sent to you.
(4) You will check the operation of the program you bought on your computer.
About inquiry:
If you have any questions on the products which you bought, you can ask to following.
ml.eng_00@motionlabo.com