Computing accurate eigenvalues using a mixed-precision Jacobi algorithm

Nicholas J. Higham, François Tisseur, Marcus Webb, and I have uploaded to the arXiv our paper "Computing accurate eigenvalues using a mixed-precision Jacobi algorithm". This paper builds on the famous result by Demmel and Veselić on the high accuracy of the Jacobi algorithm, in which they proved that for \(A \in \mathbb{R}^{n\times n}\), if \(\lambda_{k}(A)\) … Continue reading Computing accurate eigenvalues using a mixed-precision Jacobi algorithm

What’s new in MATLAB R2025a

Table of Contents Renewed user interface Improved Editor Read data from compressed and archived files Sparse matrix is supported in single precision ode supports more objects MATLAB Copilot MATLAB R2025a was officially released on May 15, 2025, which is delayed by the finalization process. In this post, I will present several updates which has been … Continue reading What’s new in MATLAB R2025a

Randomized Algorithm for Trace Estimation

Trace The trace of a matrix \(A \in \mathbb{R}^{n \times n}\) is the sum of its diagonal entries: \begin{equation} \notag \text{tr}(A) = \sum_{i=1}^n a_{ii} = \sum_{i=1}^n e_i^T A e_i, \end{equation} where \(e_i\) is the $i$-th column of the identity matrix. Many scientific computing and machine learning applications require estimating the trace of a square linear … Continue reading Randomized Algorithm for Trace Estimation

One-sided Jacobi Algorithm

Outline of the Algorithm The Jacobi algorithm for computing the singular value decomposition (SVD) of a general matrix \(A \in \mathbb{R}^{m \times n}\) was proposed by Hestenes. The algorithm proceeds as follows: \begin{equation}\notag A^{(0)} = A, \quad A^{(k+1)} = A^{(k)} J^{(k)}, \quad A^{(\infty)} = U \varSigma, \end{equation} for \(k = 1, 2, \dots\), where \(J^{(k)}\) … Continue reading One-sided Jacobi Algorithm

What’s new in MATLAB R2024a

In this post, I will present several updates which has been made in MATLAB R2024b. For a detailed list of changes in MATLAB, please refer to this page. Open documentation in system browser The doc function, which displays the documentation, will now show the documentation in the system web browser instead of the help browser. … Continue reading What’s new in MATLAB R2024a

The Jacobi algorithm for eigenvalues

Given a symmetric \(A \in \mathbb{R}^{n\times n}\), the Jacobi algorithm produces a sequence of orthogonally similar matrices \(A_{k+1} = J_{k}^{T} A_{k} J_{k}\) for \(k = 1,2,\dots\), \(A_{1} = A\), and \(J_{k}\) are the carefully constructed Jacobi rotations. In fact, the Jacobi rotation is the same as the Givens rotation, but we give the credit to … Continue reading The Jacobi algorithm for eigenvalues

A MATLAB function to generate random symmetric matrix

The MATLAB builtin function gallery('randsvd',...) can only generate a random matrix or a symmetric positive definite matrix. However, sometimes, we need to test our algorithms for symmetric matrices. Although you can get a symmetric matrix by A = randn(n); A = A + A';, it would be nice to inherit the features from gallery('randsvd'), such … Continue reading A MATLAB function to generate random symmetric matrix