# XLPack

XLPack is a set of expansion modules of Excel for numerical calculation which is developed for easy calculations on office/home PCs. It adds the features useful for wide range of scientific fields to Excel.

Excel is a widely used spreadsheet software. It is possible to program with VBA* and display the result in understandable visual form by graph functions. It can become an easy-to-use and powerful numerical calculation tool by enhancing the numerical calculation functions. (* Visual Basic for Applications: Built-in macro language of Excel)

XLPack consists of worksheet function library, solver and VBA subroutine/function library. These can be divided into two types: tools for numerical calculations without programming and tools that support programming.

**Numerical calculation without programming**

**Supporting VBA numerical programming**-
**VBA subroutine/function library**: A variety of subroutines and functions which can be called from Excel VBA are provided. By using these subroutines and functions, advanced numerical application programs can be developed in a short development period. Professional knowledge on numerical calculation is not required.

**Fast calculation**

XLPack calculates faster than the equivalent VBA program. The next figure shows the measurements of CPU time to solve systems of linear equations. In this example case, XLPack is more than 100 times faster than the VBA program.

**Efficient algorithms**

XLPack employs the latest efficient algorithms. The following figure shows the example of an initial value problem of ODE (ordinary differential equation). The (logarithm of) number of function evaluations is plotted against the relative error of the solution. The number of function evaluations required by the algorithms used in XLPack are less than those required by commonly used Euler method and 4th order Runge-Kutta method.

- Calculation tool for researchers and engineers
- Provides easy and practically fast numerical calculations for medium and small scale problems
- Researchers and engineers can concentrate on their main job without spending time for the details of calculation

- Development support tool
- Used for prototyping and one-time programs

- Platform in education fields
- Used for study and training of numerical calculation

XLPack can easily be introduced if you just have a personal computer running Excel.

- To support introduction, XLPack Lite is provided. It can be used for the compatibility testing with your PC environment before purchasing product.
- The product is provided as four separate feature modules so that you can purchase only the necessary modules.

## XLPack Version 5.3

- Windows version
- Windows 10, Windows 8.1 Update or Windows 7 SP1
- Office 365 Excel, Excel 2019, Excel 2016, Excel 2013 SP1 or Excel 2010 SP2

- macOS version
- macOS Mojave (10.14) or macOS Catalina (10.15)
- Excel for Mac (Office 365 (Subscription) or Office 2019 for Mac (One-time purchase))
- The latest versions are recommended. Office 2016 for Mac (One-time purchase) is not supported.

**XLPack**- Divided into four modules. Modules 1, 2, 3 and 4 single products and all bundled product are lined up: M1: Linear computation (real), M2: Linear computation (complex), M3: Special functions, nonlinear computation, M4: Interpolation, differential/integral equations, random numbers
- VBA subroutine/function library routines: 816 (total)
- Worksheet function library routines: 154 (total)
- Solver add-in (for M3 and M4)
- 1,500 page PDF manuals
- Sample worksheets

**XLPack Lite**

Subset version with major features. Same software requirements and performance as product version.- For evaluation and compatibility testing before purchasing product
- Individual users can continue to use for noncommercial and non-organizational purposes

The program and sample worksheets can be downloaded from Web site. Online manual and tutorial are also available.

**Major features**:- Module 1 (linear computation (real)), Module 2 (linear computation (complex))
- Linear computation (LAPACK, BLAS)
- Elementary vector operations, elementary matrix operations
- Solution of systems of linear equations (general matrices, symmetric/Hermitian matrices, band matrices, positive definite matrices, triangular matrices)
- Eigenvalues and eigenvectors (symmetric/Hermitian matrices, general matrices)
- Generalized eigenvalue problems (symmetric/Hermitian matrices, general matrices)
- Singular value decomposition (SVD) (general matrices)
- Generalized singular value decomposition (GSVD) (general matrices)
- Linear least squares method (QR decomposition, SVD, variance covariance matrices
- Constrained linear least squares problems (LSE and GLM problems)

- Linear computation (LAPACK, BLAS)
- Module 3 (special functions, nonlinear computation)
- Special functions
- Bessel functions, modified Bessel functions, spherical Bessel functions, Airy functions, ex-ponential integrals, logarithmic integrals, cosine and sine integrals, gamma functions, beta functions, incomplete gamma functions, incomplete beta functions, polygamma functions, Riemann zeta function, error functions, Fresnel integrals, hypergeometric functions, Jacobi elliptic functions, elliptic integrals, polynomials

- Nonlinear equations
- Roots of polynomials (Newton method, companion method, DKA method)
- Solution of single general nonlinear equation (Dekker’s method)
- Solution of system of nonlinear equations (Powell’s hybrid method, Brown’s method)

- Nonlinear optimization
- Unconstrained optimization of general univariate function (Brent’s method)
- Unconstrained optimization of general multivariate function (quasi-Newton method, trust region method)
- Optimization of general multivariate simply bounded function (trust region method)

- Fast Fourier transform (FFT)
- One-dimensional real fast Fourier transform, one-dimensional complex fast Fourier trans-form, one-dimensional trigonometric fast Fourier transform
- Two-dimensional real fast Fourier transform, two-dimensional complex fast Fourier trans-form

- Special functions
- Module 4 (interpolation, quadrature, ordinary differential equations, random numbers)
- Interpolation
- Polynomial interpolation
- Piecewise cubic Hermite interpolation, cubic spline interpolation, B-spline interpolation
- Quadrature involving fitted functions

- Quadrature
- Finite interval quadrature (tabulated integrand) (parabolic approximation)
- Finite interval quadrature (user-defined integrand function) (fixed points) (Gauss-Kronrod rule)
- Finite interval quadrature (user-defined integrand function) (automatic quadrature) (Gauss-Kronrod rule, double exponential (DE) formula)
- Finite interval quadrature (user-defined integrand function) (automatic quadrature) (special integrand functions)
- Semi-infinite or infinite interval quadrature (user-defined integrand function) (automatic quadrature) (Gauss-Kronrod rule, double exponential (DE) formula)

- Initial value problem of ordinary differential equations
- Non-stiff problems (Runge-Kutta-Fehlberg method, Dorman-Prince method, Runge-Kutta-Verner method, Adams method, extrapolation method)
- Stiff problems (BDF method, implicit Runge-Kutta method, Rosenbrock method, extrapola-tion method)
- Differential algebraic equations (DAEs) (DASSL)

- Nonlinear least squares method
- Unconstrained nonlinear least squares problems (Levenberg-Marquardt method, adaptive algorithm)
- Simply bounded nonlinear least squares problems (adaptive algorithm)

- Random number generation
- Uniform random numbers (Mersenne-Twister, Knuth’s method, linear congruential method)
- Normal random numbers, exponential random numbers, gamma random numbers

- Interpolation

- Module 1 (linear computation (real)), Module 2 (linear computation (complex))
**Detail function list**: Open in a separate tab

Calculation modules can be called as the numerical library from other languages such as C/C++, Python.

Refer to here for more details.

**Related links**

- XLPack sample worksheets: Go to download page
- XLPack Lite program and sample worksheets: Go to download page
- Brochure: Download
- Tutorial is available for those who are first to XLPack or who want to look at the usage examples.