|MATLAB Release Notes|
MATLAB 6.5 adds the following mathematics features and enhancements:
These features are described below. At the end of this section are tables that summarize changes to the MATLAB math functions:
Delay Differential Equations
MATLAB now provides the capability to solve delay differential equations (DDEs) with constant delays. The DDE solver,
dde23, provides an interface that is similar to the MATLAB ODE solver interface and is as easy to use. The supporting functions
deval enable you to set integration properties that affect problem solution and to evaluate the numerical solution obtained with
See Initial Value Problems for DDEs and the function descriptions in the MATLAB documentation for detailed information.
Singular Boundary Value ODE Problems
bvp4c can now solve a class of singular BVPs of the form
posed on an interval with . The
bvpset function provides a new
'SingularTerm' integration property, which you can use to pass the constant matrix to
See Solving Singular BVPs and the function descriptions in the MATLAB documentation for more information.
Integration Over a Volume
A new function,
triplequad, evaluates a triple integral that you provide as a function,
fun(x,y,z), over a three dimensional rectangular region. As a default,
triplequad uses the quadrature function
quad to perform the integration. You can elect to use
quadl instead or provide your own quadrature function.
Logarithmic Derivative of the Gamma Function
A new function
psi evaluates the function, also known as the digamma function, for each element of an array
X. You can also use
psi to evaluate the
kth derivative of , or a sequence of derivatives of different orders, at the elements of
Sparse, Square, Banded Matrix Left Division
Matrix left division (
\) now uses banded solvers for
X = A\b where
A is sparse, square, and banded. Band density is defined as (# nonzeros in the band)
/(# nonzeros in a full band). Band density =
1.0 if there are no zeros on any of the three diagonals.
A is real and tridiagonal, i.e., band density =
B is real with only one column,
X is computed quickly using Gaussian elimination without pivoting.
If the tridiagonal solver detects a need for pivoting, or if
B is not real, or if
B has more than one column, but
A is banded with band density greater than the new
'bandden' (default =
0.5, in the interval
X is computed using LAPACK.
Sparse Matrix LU Factorization and Solve
LU factorization and solve for sparse matrices now uses UMFPACK. UMFPACK is a set of routines for solving unsymmetric sparse linear systems, , using the Unsymmetric MultiFrontal method. It provides a considerable increase in computational speed for these matrices.
lu Function. The
lu function provides two new syntaxes for sparse matrices. These new syntaxes use UMFPACK for factorization.
The syntaxes return a unit lower triangular matrix
L, an upper triangular matrix
U, and permutation matrices
Q, so that
P*X*Q = L*U. The
thresh argument (default =
0.1, in the interval
[0.0,1.0]) controls pivoting.
\ (backslash). Matrix left division (
\) uses UMFPACK for square sparse matrices that are not banded. You can control pivoting with the new
'piv_tol' (default =
0.1, in the interval
Information about UMFPACK is available online at http://www.cise.ufl.edu/research/sparse/umfpack/. The UMFPACK Version 4.0 User Guide is available at http://www.cise.ufl.edu/research/sparse/umfpack/v4.0/UserGuide.pdf. Type
help umfpack at the command line for summary copyright and licensing information.
Matrix Math Performance Improvements for Triangular Matrices
The speed for solving linear systems
AX = B where
A is upper or lower triangular, and
B is an
n matrix, has been improved through the use of optimized Basic Linear Algebra Subroutines (BLAS). Optimized BLAS is provided by Automatically Tuned Linear Algebra Software (ATLAS).
BLAS has also been used to improve certain matrix multiplication operations, i.e., matrix
*matrix, and rowvector
For the first time, ATLAS BLAS have been tuned to the Pentium 4 under both Windows and Linux operating systems, resulting in improved speed for core linear algebra functions.
By making better use of cache, the speed of matrix transposition has been increased for all matrices, but particularly for matrices whose size is a power of 2.
Summary of New Functions
||Solve initial value problems for delay differential equations (DDEs) with constant delays
||Extract properties from the options structure created with
||Create/alter a DDE options structure that contains solver integration properties
||Psi (polygamma) function, i.e., the logarithmic derivative of the gamma function
||Numerically evaluate triple integral
Summary of Changed Functions
||Enhancement or Change
||Now use banded solvers for sparse, square, banded matrices. See Sparse, Square, Banded Matrix Left Division for more information.|
Now use UMFPACK for left and right division of square sparse matrices that are not banded. See Sparse Matrix LU Factorization and Solve for more information.
||The result of dividing a singular lower or upper triangular matrix by any other matrix, using either left (|
See Mathematics Upgrade Issues for examples.
||A new option |
||Provides three new syntaxes:|
||Now also accepts output from |
||For large dimensions, a new argument,
||A new syntax |
||A new syntax |
||Uses UMFPACK to improve speed for factorization of sparse matrices, and to add two new syntaxes for sparse matrices.|
The new output
||Two new syntaxes for each function provide for the deletion and insertion of rows, as well as columns, in a QR factorization:|
The original syntaxes qrdelete(Q,R,j) and qrinsert(Q,R,j,x) default to
||Provides two new parameters for sparse matrix division.|
||Pivot tolerance used by the UMFPACK LU-based \ and /.
||Band density used by LAPACK-based \ and / for banded matrices.
|Development Environment Features||Programming and Data Types Features|