Free Download of the 'ALGLIB

Total Page:16

File Type:pdf, Size:1020Kb

Free Download of the 'ALGLIB ... Log in Sign up >> WebTerminal Documentation Calendar CodeBase Articles Freelance Market MetaTrader 5 / Libraries ALGLIB ‐ Numerical Analysis Library ‐ library for MetaTrader 5 Sergey Bochkanov 22947 (98) Real author: Sergey Bochkanov. ALGLIB project website ‐ http://www.alglib.net/. The library dates back to 1999. ALGLIB is one of the largest and most complete mathematical libraries Do you need to make a fast Fourier transform or to solve a differential equation system? Do you perform a complex data analysis trying to gather all methods in one place as a source code? Then ALGLIB library of numerical methods is for you! ALGLIB is currently one of the best libraries of the multi‐language algorithms. Below are ALGLIB features mentioned on the official website: ALGLIB is a cross‐platform numerical analysis and data processing library. It supports several programming languages (C++, C#, Pascal, VBA) and several operating systems (Windows, Linux, Solaris). ALGLIB features include: Linear algebra (direct algorithms, EVD/SVD) Solvers (linear and nonlinear) Interpolation Optimization Fast Fourier transforms Numerical integration Linear and nonlinear least‐squares fitting Ordinary differential equations Special functions Statistics (descriptive statistics, hypothesis testing) Data analysis (classification/regression, including neural networks) Multiple precision versions of linear algebra, interpolation optimization and others algorithms (using MPFR for floating point computations) Why to choose ALGLIB? Because it is: portable. It can be compiled almost anywhere using almost any compiler (see compatibility matrix for more info). easy to use. It supports many programming languages. If you use one language, you don't need to study another (FORTRAN, for example) to compile and link an external library. open source. It can be used for free under GPL 2+. suited for commercial users too. Those who want to use ALGLIB in commercial applications can buy commercial license without copyleft requirement. ALGLIB library is being constantly enhanced, new functions and improvements according to users' comments are implemented regularly. The latest version is 3.6.0. Besides, the library contains the large collection of test cases covering the major part of the proposed methods' functionality. That will allow you to carry the tests and report detected errors to the project's authors. CAlglib class static functions should be used to work with the library ‐ all library functions are moved to CAlglib system class as static functions. testclasses.mq5 and testinterfaces.mq5 test cases scripts are attached together with a simple usealglib.mq5 demo script. Include files of the same name (testclasses.mqh and testinterfaces.mqh) are used to launch test cases. They should be placed to \MQL5\Scripts\Alglib\Testcases\. Note: testclasses.mq5 script execution takes quite a long time (about 30 minutes). Below is more detailed information about ALGLIB MQL5 ported library packages: Packages Description alglib.mqh The main library package includes custom functions. These functions should be called for working with the library. alglibinternal.mqh Additional classes for the operation of other library packages. alglibmisc.mqh The package contains the following classes: 1. CHighQualityRand ‐ high quality random number generator. 2. CNearestNeighbor ‐ KD‐trees generation and solution. ap.mqh The package also contains additional classes necessary for other packages. bitconvert.mqh С++ basic classes and functions that are absent in MQL5 as built‐in: 1. BitConverter ‐ class for transforming int and double type figures into an array of bits and vice Packages Description versa. 2. CInfOrNaN ‐ NaNs and plus/minus infinity verification and generation class. 3. ArrayReverse ‐ array elements reverse function. 4. GetSelectionString ‐ function for receiving the string generated from char type array elements. 5. MathSign ‐ number sign calculation function. 6. MathSinh ‐ hyperbolic sine calculation function. 7. MathCosh ‐ hyperbolic sine calculation function. 8. MathTanh ‐ hyperbolic tangent calculation function. complex.mqh Defining complex structures for working with complex numbers. dataanalysis.mqh Classes of data analysis: 1. CBdSS ‐ error functions calculation. 2. CDForest ‐ working with the forests of solution trees. 3. CKMeans ‐ clustering using k‐means++ algorithm. 4. CLDA ‐ linear discriminant analysis. 5. CLinReg ‐ linear regression. 6. CMLPBase ‐ multilayer perceptron (neural networks). 7. CLogit ‐ multinomial logit regression. 8. CMarkovCPD ‐ Markov chains for population data. 9. CMLPTrain ‐ training of multilayer perceptron. 10. CMLPE ‐ ensembles of neural networks. 11. CPCAnalysis ‐ principal components method. delegatefunctions.mqh The package contains the classes created as replacement for the delegates. The objects of these classes are the functions optimized in several library methods. diffequations.mqh The class for solving ordinary differential equations: 1. CODESolver ‐ solving ordinary differential equations. fasttransforms.mqh Fast transformation classes: 1. CFastFourierTransform ‐ fast Fourier transform. 2. CConv ‐ convolution. 3. CCorr ‐ cross‐correlation. 4. CFastHartleyTransform ‐ fast Hartley transform. integration.mqh Classes for numerical integration: 1. CGaussQ ‐ Gaussian quadrature. 2. CGaussKronrodQ ‐ Gauss–Kronrod quadrature formulas. 3. CAutoGK ‐ adaptive integrator. interpolation.mqh Interpolation, approximation and numerical differentiation classes: 1. CIDWInt ‐ interpolation and approximation by the inverse average weighted distance. 2. CRatInt ‐ rational interpolation. 3. CPolInt ‐ polynomial interpolation. 4. CSpline1D ‐ one‐dimensional spline interpolation. 5. CLSFit ‐ approximation using linear or non‐linear least squares method. 6. CPSpline ‐ parametric spline interpolation. 7. CSpline2D ‐ two‐dimensional spline interpolation. linalg.mqh Classes for calculation of some linear algebra operations: 1. COrtFac ‐ QR/LQ decompositions, decompositions of Hessenberg, as well as of bi‐ and tridiagonal matrices. 2. CEigenVDetect ‐ finding the eigenvalues ​​and eigenvectors. 3. CMatGen ‐ random matrices generation. 4. CTrFac ‐ LU and Cholesky decompositions. 5. CRCond ‐ estimation of a matrix dependence value. 6. CMatInv ‐ matrix inversion. 7. CBdSingValueDecompose ‐ singular decomposition of a bidiagonal matrix. 8. CSingValueDecompose ‐ matrix singular decomposition. 9. CFbls ‐ quick basic linear solutions. 10. CMatDet ‐ calculation of a matrix determinant. 11. CSpdGEVD ‐ finding the eigenvalues ​​and eigenvectors in generalized symmetric matrices. 12. CInverseUpdate ‐ matrices inversion and update. 13. CSchur ‐ Issai Schur decomposition. matrix.mqh Classes of matrices: integer, continuous and complex. optimization.mqh Dimensional and multidimensional optimization classes: 1. CMinCG ‐ optimization using conjugate gradient method. 2. CMinBLEIC ‐ optimization with linear constraints in the form of equations and inequations. Packages Description 3. CMinLBFGS ‐ optimization using successive generation and classification of the function's quadratic model. 4. CMinQP ‐ quadratic programming with linear constraints in the form of equations and inequations. 5. CMinLM ‐ optimization using Levenberg‐Marquardt algorithm. 6. CMinComp ‐ backward compatibility functions. solvers.mqh Classes for solving linear and non‐linear equation systems: 1. CDenseSolver ‐ solving linear equation systems. 2. CNlEq ‐ solving non‐linear equation systems. specialfunctions.mqh Classes of distribution functions, integrals and polynomials: 1. CGammaFunc ‐ Gamma function. 2. CIncGammaF ‐ incomplete Gamma function. 3. CBetaF ‐ Beta function. 4. CIncBetaF ‐ incomplete beta function. 5. CPsiF ‐ psi‐function. 6. CAiryF ‐ Airy function. 7. CBessel ‐ Bessel functions of integral order. 8. CJacobianElliptic ‐ Jacobian elliptic functions. 9. CDawson ‐ Dawson integral. 10. CTrigIntegrals ‐ trigonometric integrals. 11. CElliptic ‐ elliptic integrals of the first and second kind. 12. CExpIntegrals ‐ exponential integrals. 13. CFresnel ‐ Fresnel integrals. 14. CHermite ‐ Hermite polynomials. 15. CChebyshev ‐ Chebyshev polynomials. 16. CLaguerre ‐ Laguerre polynomials. 17. CLegendre ‐ Legendre polynomials. 18. CChiSquareDistr ‐ chi‐square distribution. 19. CBinomialDistr ‐ binomial distribution. 20. CNormalDistr ‐ normal distribution. 21. CPoissonDistr ‐ Poisson distribution. 22. CStudenttDistr ‐ Student t‐distribution. 23. CFDistr ‐ F‐distribution. statistics.mqh Classes of statistical data analysis: 1. CBaseStat ‐ basic statistical methods. 2. CCorrTests ‐ test for correlation ratio significance. 3. CJarqueBera ‐ JarqueBera croterion. 4. CMannWhitneyU ‐ Mann‐Whitney U‐criterion. 5. CSignTest ‐ sign test. 6. CStudentTests ‐ Student t‐tests. 7. CVarianceTests ‐ F‐test and chi‐square test. 8. CWilcoxonSignedRank ‐ Wilcoxon W‐criterion. Code: Library functions have detailed comments on their usage. //+------------------------------------------------------------------+ //| Calculation of the distribution moments: mean, variance, | //| skewness, kurtosis. | //| INPUT PARAMETERS: | //| X - sample | //| N - N>=0, sample size: | //| * if given, only leading N elements of X are | //| processed | //| * if not given, automatically determined from | //| size of X | //| OUTPUT PARAMETERS | //| Mean - mean. | //| Variance- variance. | //| Skewness- skewness (if variance<>0; zero otherwise). | //| Kurtosis- kurtosis (if variance<>0; zero otherwise). | //+------------------------------------------------------------------+
Recommended publications
  • The Qtiplot Handbook I
    The QtiPlot Handbook i The QtiPlot Handbook The QtiPlot Handbook ii Copyright © 2004 - 2011 Ion Vasilief Copyright © 2010 Stephen Besch Copyright © 2006 - june 2007 Roger Gadiou and Knut Franke Legal notice: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documen- tation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. The QtiPlot Handbook iii COLLABORATORS TITLE : The QtiPlot Handbook ACTION NAME DATE SIGNATURE WRITTEN BY Ion Vasilief and 22 February 2011 Stephen Besch REVISION HISTORY NUMBER DATE DESCRIPTION NAME The QtiPlot Handbook iv Contents 1 Introduction 1 1.1 What QtiPlot does...................................................1 1.2 Command Line Parameters..............................................1 1.2.1 Specify a File.................................................1 1.2.2 Command Line Options...........................................2 1.3 General Concepts and Terms.............................................2 1.3.1 Tables.....................................................4 1.3.2 Matrix.....................................................5 1.3.3 Plot Window.................................................6 1.3.4 Note......................................................7 1.3.5 Log Window.................................................8 1.3.6 The Project Explorer.............................................9 2 Drawing plots with QtiPlot 10 2.1 2D
    [Show full text]
  • A CPS-Based Simulation Platform for Long Production Factories
    metals Article A CPS-Based Simulation Platform for Long Production Factories Vincenzo Iannino 1, Valentina Colla 1,*, Joachim Denker 2 and Marc Göttsche 2 1 Scuola Superiore Sant’Anna, TeCIP Institute ICT-COISP Center, Via Moruzzi 1, 56124 Pisa, Italy; [email protected] 2 ASINCO GbbH—Advanced Solutions for Industrial Control Am Kiekenbusch 11a, 47269 Duisburg, Germany; [email protected] (J.D.); [email protected] (M.G.) * Correspondence: [email protected]; Tel.: +39-050-882-328 Received: 21 August 2019; Accepted: 19 September 2019; Published: 21 September 2019 Abstract: Production technology in European steel industry has reached such a level, that significant improvements can only be reached by through process optimization strategies instead of separately improving each process step. Therefore, the connection of suitable technological models to describe process and product behavior, methods to find solutions for typical multi-criterial decisions, and a strong communication between involved plants is necessary. In this work, a virtual simulation platform for the design of cyber-physical production optimization systems for long production facilities focusing on thermal evolution and related material quality is presented. Models for describing physical processes, computers, software and networks as well as methods and algorithms for through process optimization were implemented and merged into a new and comprehensive model-based software architecture. Object-oriented languages are addressed and used because they provide modularity, a high-level of abstraction and constructs that allow direct implementation and usage of the cyber-physical production systems concepts. Simulation results show how the proper connection between models, communication, and optimization methods allows feasibility, safety and benefits of cyber-physical production systems to be established.
    [Show full text]
  • A Tool for Click Data Preprocessing
    Faculty of Science Institute of Computing and Information Science Master Thesis A tool for click data preprocessing by Marc Pieterse [email protected] Supervisor: Prof. Dr. Ir. Th. P. van der Weide Second Reader: Dr. P. van Bommel Nijmegen, Version date: 21 June, 2010 Graduation number : 124 In memory of Hans Pieterse Preface This process for me, graduating, especially in the beginning was like the great journey of a rocket leaving the Earth's atmosphere. Uncertain whether the launch would succeed. Uncertain about its chosen trajectory and uncertain about reaching its destiny: space. After a bumpy launch, the project finally kicked off. The further the rocket got, the more obstacles it had to face, so during the journey, there were times when I thought: "Houston, we have a problem!!". Luck- ily for me, I had a very stable mission control that stayed very calm and flexible. This person for me was Prof. Dr. Ir. Theo van der Weide and I hereby would like to express my gratitude for his patience, advice and support during the last two years. Not only for my supervision, but also for all his work regarding interna- tional cooperation that allowed so many students (myself included) to experience ICT in different cultures. Eventually the rocket left the Earth's atmosphere. Thereby escaping from its gravitational field: finding itself free to choose a new destination. - Marc Pieterse Special thanks go out to: • Prof. Dr. Ir. Th.P. van der Weide • Dr. P. van Bommel • M. Hermsen • M. Hinne • T. Leijten • J. Schepens • I. Schreurs • P. Tenb¨ult • Family and Friends v Abstract Keywords: IR, click data, Singular Value Decomposition, preprocessing, filtering, large matrices, sparse matrices, numerical stability, SVDLIBC This Master Thesis for Information Science describes the design and imple- mentation of a tool that performs Information Retrieval (IR) techniques on click data.
    [Show full text]
  • Arxiv:2003.10146V2 [Cs.LG] 17 May 2020 2 a Brief Introduction to the Julia Language6
    Julia Language in Machine Learning: Algorithms, Applications, and Open Issues Kaifeng Gaoa, Gang Meia,∗, Francesco Picciallib,∗, Salvatore Cuomob,∗, Jingzhi Tua, Zenan Huoa aSchool of Engineering and Technology, China University of Geosciences (Beijing), 100083, Beijing, China bDepartment of Mathematics and Applications R. Caccioppoli, University of Naples Federico II, Naples, Italy Abstract Machine learning is driving development across many fields in science and engineering. A simple and effi- cient programming language could accelerate applications of machine learning in various fields. Currently, the programming languages most commonly used to develop machine learning algorithms include Python, MATLAB, and C/C ++. However, none of these languages well balance both efficiency and simplicity. The Julia language is a fast, easy-to-use, and open-source programming language that was originally designed for high-performance computing, which can well balance the efficiency and simplicity. This paper sum- marizes the related research work and developments in the applications of the Julia language in machine learning. It first surveys the popular machine learning algorithms that are developed in the Julia language. Then, it investigates applications of the machine learning algorithms implemented with the Julia language. Finally, it discusses the open issues and the potential future directions that arise in the use of the Julia language in machine learning. Keywords: Julia language, Machine learning, Supervised learning, Unsupervised learning, Deep learning, Artificial neural networks Contents 1 Introduction 4 arXiv:2003.10146v2 [cs.LG] 17 May 2020 2 A Brief Introduction to the Julia Language6 3 Julia in Machine Learning: Algorithms7 3.1 Overview . .7 ∗Corresponding author Email addresses: [email protected] (Gang Mei), [email protected] (Francesco Piccialli), [email protected] (Salvatore Cuomo) Preprint submitted to Computer Science Review May 19, 2020 3.2 Supervised Learning Algorithms Developed in Julia .
    [Show full text]
  • Original Authors: Torbjorn Granlund and the GMP Development Team
    MPIR The Multiple Precision Integers and Rationals Library Edition 3.0.0 18 February 2017 Original Authors: Torbjorn Granlund and the GMP Development Team Subsequent modifications: William Hart and the MPIR Team This manual describes how to install and use MPIR, the Multiple Precision Integers and Ratio- nals library, version 3.0.0. Copyright 1991, 1993-2016 Free Software Foundation, Inc. Copyright 2008, 2009, 2010 William Hart Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 148. i Table of Contents MPIR Copying Conditions ::::::::::::::::::::::::::::::::::::::: 1 1 Introduction to MPIR :::::::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing MPIR ::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 10 2.4 Building with Microsoft Visual Studio ::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Introduction to Computational Techniques
    Chapter 2 Introduction to Computational Techniques Computational techniques are fast, easier, reliable and efficient way or method for solving mathematical, scientific, engineering, geometrical, geographical and statis- tical problems via the aid of computers. Hence, the processes of resolving problems in computational technique are most time step-wise. The step-wise procedure may entail the use of iterative, looping, stereotyped or modified processes which are incomparably less stressful than solving problems-manually. Sometimes, compu- tational techniques may also focus on resolving computation challenges or issues through the use of algorithm, codes or command-line. Computational technique may contain several parameters or variables that characterize the system or model being studied. The inter-dependency of the variables is tested with the system in form of simulation or animation to observe how the changes in one or more parameters affect the outcomes. The results of the simulations, animation or arrays of numbers are used to make predictions about what will happen in the real system that is being studied in response to changing conditions. Due to the adoption of computers into everyday task, computational techniques are redefined in various disciplines to accommodate specific challenges and how they can be resolved. Fortunately, computational technique encourages multi-tasking and interdisciplinary research. Since computational technique is used to study a wide range of complex systems, its importance in environmental disciplines is to aid the interpretation of field measurements with the main focus of protecting life, prop- erty, and crops. Also, power-generating companies that rely on solar, wind or hydro sources make use of computational techniques to optimize energy production when extreme climate shifts are expected.
    [Show full text]
  • Acceleration of Numerical Solutions of Differential Equations Using FPGA
    Faculty Of Engineering Computer and Systems Engineering Department Acceleration of Numerical Solutions of Differential Equations Using FPGA-Based Emulation Technology Authors: Mohamed Tarek Ibn Ziad Supervisors: Mohamed Hossam ElDin Dr. Yousra Alkabani Mohamed Ahmad AbdElAziz Dr. Watheq El-Kharashi Mohamed Nagy Eliwa Hesham Ahmad Adel A thesis submitted in Partial Fulfillment of the Requirement for the B.Sc. Degree Computer and Systems Engineering Department, Faculty of Engineering, Ain Shams University, Cairo, Egypt July 2014 Ain Shams University Abstract Faculty Of Engineering Computer and Systems Engineering Department B.Sc. Acceleration of Numerical Solutions of Differential Equations Using FPGA-Based Emulation Technology by Mohamed Tarek Ibn Ziad Mohamed Hossam ElDin Mohamed Ahmad AbdElAziz Mohamed Nagy Eliwa Hesham Ahmad Adel Numerical analysis is the study of algorithms that use numerical approximation (as opposed to general symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). Typical applications of numerical PDE problems include but are not limited to simulation and modeling problems. In typical numerical methods such as Finite Element Methods (FEM), PDEs are dis- cretized in space to bring them into finite-dimensional subspace and solved by standard linear algebra subroutines. Spatial discretization could easily result in millions, even bil- lions, of discrete grid points, which correspond to large linear system equations with the same number of unknowns. If the problem was time-dependent, in order to simulate the transient behavior of the problem, we may need to solve the linear system equations for hundreds to thousands of discrete time steps. So, implementation of numerical solutions using software is very time consuming.
    [Show full text]