Next Article in Journal
AI-Driven Microcalcification Detection in Digital Mammography for Early Breast Cancer Diagnosis: A Scoping Review, Challenges, Limitations, and Future Perspectives
Previous Article in Journal
Event-Triggered Impulsive Control for Switched Systems Under Aperiodic Denial-of-Service Attacks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Robust Method for Calculating the Matrix Exponential Based on the Time Finite Element Method

Department of Mechanical Engineering, Indian Institute of Science, Bangalore 560012, India
Mathematics 2026, 14(13), 2366; https://doi.org/10.3390/math14132366
Submission received: 23 May 2026 / Revised: 4 June 2026 / Accepted: 14 June 2026 / Published: 3 July 2026

Abstract

Schemes that use ordinary-differential-equation solvers for computing the matrix exponential of a constant matrix have generally been considered inefficient compared to other strategies such as scaling and squaring, since they do not exploit the fact that the matrix in question is constant. In this work, we devise a strategy based on the time-finite element that exploits this fact, and thus results in an extremely efficient strategy that requires the solution of a linear system of equations just once at the beginning of the algorithm. Moreover, since the matrix to be inverted is well-conditioned even when the constant matrix is ill-conditioned, the strategy yields very reliable results as demonstrated by means of several challenging examples. The approach outlined here is easily generalized to the case where the matrix is time dependent and where there is a time-dependent forcing function.

1. Introduction

Quite often mathematical models of physical systems require the solution of a system of differential equations of the form x ˙ ( t ) = A x ( t ) under the initial condition x ( 0 ) = x 0 , where A is a constant n × n matrix, and x ( t ) is an n × 1 vector. The analytical solution of this system of equations is e A t x 0 . Using its basic definition, e A t can be written as an infinite series; however, it is known that truncating the series to compute the matrix exponential can yield erroneous results, and hence is very unreliable. Alternatively, an exact expression can be derived for the matrix exponential in terms of projections and nilpotent tensors (Equation (40) in Reference [1]). However, finding the projections and nilpotent components of a given matrix is computationally demanding, and thus, although the explicit formula is theoretically interesting, it does not yield an efficient algorithm for numerically computing the matrix exponential. Thus, as we now discuss in greater detail in the following paragraph, finding e A t in a computational framework is quite challenging. In this work, we propose a new algorithm that carries out this computation.
Perhaps the most detailed survey of various methods to compute the matrix exponential is the one by Moler and van Loan [2]. In this survey, the authors have discussed various methods such as scaling and squaring, Chebyshev rational approximation, ordinary differential equations approach, polynomial methods, etc. While discussing the differential equations, they write the following:
The scaling and squaring methods of Section 3 and some of the matrix decomposition methods of Section 6 require on the order of 10 to 20 n 3 flops and they obtain higher accuracies than those obtained with 200 n 3 or more flops for the o.d.e. solvers. This excessive cost is due to the fact that the programs are not taking advantage of the linear, constant coefficient nature of the differential equation. They must repeatedly call for the multiplication of various vectors by the matrix A because, as far as they know, the matrix may have changed since the last multiplication.
It is precisely this constant coefficient nature of the differential equations that we exploit in the proposed approach in this work. Thus, the proposed algorithm needs to solve an n × n system of equations with n right hand sides just once at the beginning of the program, and during each time step, it needs to multiply this precomputed matrix with the value of the exponential matrix at that time step to obtain the exponential matrix at the next time step.
But more than the efficiency, our emphasis in this work is on the robustness and generalizability of the algorithm since so many standard methods are known to fail when A is either ill-conditioned, or when it does not have a linearly independent set of eigenvectors etc. (this is also evident from the title of Reference [2]: ‘Nineteen dubious ways …’). Our method is based on the time finite element method which, similar to the continuum setting, is known to conserve the energy exactly even in the discrete setting for conservative systems [3]. This property is extremely important since this leads to an unconditionally stable algorithm (allowing for arbitrarily large time steps) from an energy perspective. Even if the system is non-conservative, the time finite element method has been demonstrated to yield very reliable results even for chaotic systems such as the Duffing oscillator or the Lorenz system [4]. Thus, the time finite element method is an extremely robust method for the solution of a system of ordinary linear or nonlinear differential equations (in the sense that, for example, it does not fail to compute e A accurately even when A is ill-conditioned), and this feature will be brought out in Section 3 on a set of challenging examples.
Most of the literature, both classical and recent, seems to prefer the scaling and squaring method [5,6,7,8]. There is a class of methods known as exponential integrators [9], but even these algorithms seem to be based on scaling and squaring algorithms for approximating the matrix exponential. Reference [10] compute the matrix exponential approximation using Pade approximations, while References [11,12] use approximations based on Taylor and Euler polynomials, respectively. To the best of our knowledge, there is no algorithm that is based on computing the matrix exponential based on the solution of the governing differential equation, and which exploits the fact that A is constant to improve the efficiency of the algorithm.
While solving a dynamical system, one is, ideally speaking, interested in finding the evolution of the solution as a function of time in a given interval, or within a numerical framework, at several discrete time steps in that interval, and in many cases when the matrix A is time dependent and there is, in addition, a forcing function as in Equation (7). The proposed algorithm, since it is based on time-stepping, addresses precisely this need in an efficient manner by using the information from the previous time step. Scaling and squaring algorithms such as the ones implemented as the expm() function in MATLAB [13] are extremely robust, efficient, and are highly accurate in computing the exponential of a matrix when A is constant. However, they are not easily generalized to the case given in Equation (7) since the solution may not even be in the form of the exponential of a matrix. We now proceed to describe our algorithm.

2. Formulation

Given a constant matrix A , we are interested in numerically finding a good approximation to e A t which can be written as the solution of
Z ˙ = A Z ,
subject to the initial condition Z ( 0 ) = I , where Z is an n × n matrix. We use the time finite element method to carry out the solution of the differential equation in Equation (1). In case we are interested in finding e A T , we partition the interval [ 0 , T ] into a number of time finite elements of size t Δ = t n + 1 t n , where 0 < t 1 < t n < t n + 1 < T . Starting from the prescribed initial conditions at t = 0 , we find the solution at time t 1 , then at time t 2 using the solution obtained at time t 1 , and so on until time T is reached (quite obviously, we simply set T = 1 if we are interested in computing e A ). Thus, the key advantage of using the time finite element method is that one obtains not only e A T , but also the entire evolution of the solution for t [ 0 , T ] . As discussed in the Introduction, among the numerous time-stepping schemes on the interval [ t n , t n + 1 ] , the time-finite element method is one the most robust strategies that conserves energy even in the discrete setting in the case of conservative systems.
The time finite element is basically a weighted-residual method in time, which uses a piecewise polynomial approximation over each time interval for the variable being computed ( Z in our case), and with the weighing functions being polynomials that are one-order lower than those used for approximating Z [3]. In this work, we formulate quadratic, cubic and quartic time finite element methods.
Let N 1 ( ξ ) = ξ ( ξ 1 ) / 2 , N 2 ( ξ ) = 1 ξ 2 , N 3 ( ξ ) = ξ ( 1 + ξ ) / 2 , w 1 ( ξ ) = ( 1 ξ ) / 2 , w 2 ( ξ ) = ( 1 + ξ ) / 2 , Z n : = Z ( t n ) and Z m = Z ( ( t n + t n + 1 ) / 2 ) . With the midnode located at the center of the element, an application of the quadratic time finite element to Equation (1) results in the set of equations
  t = ( 1 ξ ) t n + ( 1 + ξ ) t n + 1 2 ,
  Z = N 1 ( ξ ) Z n + N 2 ( ξ ) Z m + N 3 ( ξ ) Z n + 1 ,
  Z ˙ = 1 t Δ Z n + 1 Z n + 2 ξ ( Z n + 1 + Z n 2 Z m ) ,
  1 1 w i ( ξ ) Z ˙ A Z   d ξ = 0 ,   i = 1 , 2 .
Equation (2d) leads to
  4 I 2 t Δ A Z m 5 I + t Δ A Z n + Z n + 1 = 0 ,
  4 I + 2 t Δ A Z m + Z n 5 I t Δ A Z n + 1 = 0 .
Solving the above set of equations we get
Z m = ( 4 I + t Δ A ) Z n + ( 4 I t Δ A ) Z n + 1 8 ,
which on substituting into any of Equation (3) finally leads to
Z n + 1 = M Z n ,
where
M : = 6 ( 2 I t Δ A ) + t Δ 2 A 2 1 6 ( 2 I + t Δ A ) + t Δ 2 A 2 .
Similar to the above derivation, an application of the cubic and quartic time finite element methods leads to
Z n + 1 = M Z n ,
where
M : = 120 I 60 t Δ A + 12 t Δ 2 A 2 t Δ 3 A 3 1 120 I + 60 t Δ A + 12 t Δ 2 A 2 + t Δ 3 A 3   ( cubic ) ,   : = 1680 I 840 t Δ A + 180 t Δ 2 A 2 20 t Δ 3 A 3 + t Δ 4 A 4 1       1680 I + 840 t Δ A + 180 t Δ 2 A 2 + 20 t Δ 3 A 3 + t Δ 4 A 4   ( quartic ) .
Note that since A is a constant matrix in any of the above methods, and if we use time intervals of equal length, then the matrix to be inverted in the expression for M is a constant matrix. This solution of the n × n system of equations with n right hand sides to find M is carried out only once at the beginning of the algorithm. Starting with Z 0 = I , we march forward in time until the time instant t = T is reached. After each time step calculation (which involves only the multiplication of the pre-calculated M with Z n ), we assign Z n + 1 Z n , and proceed to the next time step.
Even if A is singular or close to singular, the invertibility of 6 ( 2 I t Δ A ) + t Δ 2 A 2 in the quadratic time finite element method, and the corresponding matrices in the cubic and quartic methods is not affected due to the presence of the identity matrix. Note also that the algorithm is not dependent on any special structure of the matrix A such as diagonalizable, Jordan canonical form, or one having linearly independent eigenvectors, etc., and is thus applicable for any matrix A . Since T can be chosen arbitrarily by the user, the above algorithm actually yields e A T for any choice of T, and, moreover, it yields [ e A t n , e A t n + 1 ] for every subinterval [ t n , t n + 1 ] that the domain [ 0 , T ] is divided into.
Once e A is computed, other related functions can be computed as
cosh A = e A + e A 2 , sinh A = e A e A 2 , tanh A = ( e 2 A I ) ( e 2 A + I ) 1 = ( e 2 A + I ) 1 ( e 2 A I ) .
The proposed method also works for complex matrices A with the only change being that a complex solver is now used to compute M . In fact, we can compute the cosine, sine and tangent of a matrix as
cos A = Re e i A , sin A = Im e i A , i tan A = ( e 2 i A I ) ( e 2 i A + I ) 1 = ( e 2 i A + I ) 1 ( e 2 i A I ) .
The method is easily modified to solve the set of differential equations x ˙ = A x with x ( 0 ) = x ^ 0 , where x is now a n × 1 vector; in place of Equation (4), we now get
x n + 1 = M x n ,
with x 0 = x ^ 0 , with M calculated only once at t = 0 as in the case of Equation (4) or Equation (5), and with the assignment x n + 1 x n at the end of each time step.
The method is also even easily extended to the case where the matrix A is a function of time, and, in addition, there is a forcing function, i.e., we now have
x ˙ = A ( t ) x + f ( t ) ,
with x ( 0 ) = x ^ 0 . As an example, to formulate the quadratic time finite element for this case, let N 1 ( ξ ) = ξ ( ξ 1 ) / 2 , N 2 ( ξ ) = 1 ξ 2 , N 3 ( ξ ) = ξ ( 1 + ξ ) / 2 , w 1 ( ξ ) = ( 1 ξ ) / 2 , w 2 ( ξ ) = ( 1 + ξ ) / 2 , x n : = x ( t n ) , x m = x ( ( t n + t n + 1 ) / 2 ) and x n + 1 = x ( t n + 1 ) , and let
  t = ( 1 ξ ) t n + ( 1 + ξ ) t n + 1 2 ,
  x = N 1 ( ξ ) x n + N 2 ( ξ ) x m + N 3 ( ξ ) x n + 1 ,
  x ˙ = 1 t Δ x n + 1 x n + 2 ξ ( x n + 1 + x n 2 x m ) ,
  1 1 w i ( ξ ) x ˙ A ( t ) x f ( t )   d ξ = 0 ,   i = 1 , 2 ,
where the ‘t’ in Equation (8d) is given by Equation (8a). Depending on A ( t ) and f ( t ) , the integrals in Equation (8d) have to be evaluated for w i , i = 1 , 2 , and, given x n , one then solves these two equations for ( x m , x n + 1 ) on the interval [ t n , t n + 1 ] with x 0 = x ^ 0 . Of course, this now involves inverting a matrix at every time step (as opposed to the constant A case, where a matrix has to be inverted only once at the beginning of the program), and, as expected, will thus be computationally more expensive compared to the constant A case that we have dealt with in this work. The formulation of the cubic and quartic finite element methods is similar to the above formulation.
There is a dramatic increase in accuracy and a corresponding reduction in the run time (for a given level of accuracy) as one progresses from the quadratic to the cubic, and from the cubic to the quartic time finite element method. The only additional cost is in constructing A 3 and A 4 in the two methods (which is negligible since this is carried out only once at the beginning of the program). One and two additional n × n arrays, respectively, are required over and above those in the quadratic time finite element method.

3. Numerical Examples

We now illustrate the good performance of the algorithm on examples from the literature where certain algorithms fail, and on some new examples as well. All results are presented using the quartic time finite element method. So far we have not come across an example where an algorithm from the literature works, while the proposed algorithm fails. Since the solution approaches the exact solution as t Δ 0 , one can obtain any desired level of accuracy simply by decreasing t Δ . The precise value of t Δ that is to be used of course depends on the matrix A , but extensive numerical experimentation with large or ill-conditioned matrices A indicates that a value of t Δ of 10 3 or 10 4 yields extremely accurate results in most cases. Thus, keeping in view that the proposed algorithm is efficient (only one system of equations with multiple right hand sides to be solved at t = 0 , followed by matrix multiplications at each time step; see the runtime for an example stated below), we have focused more on presenting examples where computing e A accurately is important, rather than focusing on examples where the size of A is large, although we do present such as example as well. The runs for both the proposed and a Fortran implementation of the scaling and squaring algorithm were carried out on stand-alone I7-6700@3.40 GHz Intel-based PC (Intel Corporation, Santa Clara, CA, USA), with no parallelization of the Fortran codes. To give an idea of the efficiency of the algorithm, the runtime for the 8 × 8 matrix A with t Δ = 10 3 is shown by the system as 0.00 s (which means that it is less that 10 2 s even on a relatively old desktop, and with no parallelization). Similar to the proposed algorithm, the scaling and squaring algorithm such as the expm() function in MATLAB [13] also yields extremely accurate results in negligible time for the small matrix examples, so that we claim no superiority of our algorithm over the expm() function in terms of run time. However, as explained in detail in the Introduction, the scaling and squaring method is not easily generalizable to the case given by Equation (7). The runtimes for the large matrix example with both algorithms are stated in the example itself. In addition to the memory required for storing A and e A , our algorithm requires five n × n arrays for the quartic case, while the implementations of the scaling and squaring algorithm that we have come across require six to eight additional n × n arrays.
Wherever presented, the relative error is calculated using the Frobenium norm as
E = ( e A ) reference ( e A ) obtained F ( e A ) reference F ,
where the reference solution is obtained using Mathematica [14] (which in some cases is the analytical solution).
  • This example shows that using a truncated version of the infinite series expansion of e A can lead to inaccurate results [2]. The matrix and the result obtained to 8 decimal places using the proposed algorithm with t Δ = 0.01 are
    A = 49 24 64 31 , e A = 0.73575876 0.55181910 1.47151760 1.10363824 ,
    which agrees with the solution in the mentioned reference, and with the error as given in Table 1.
  • This example is again from [2]. The matrix and the analytical solution are
    A = 0 6 0 0 0 0 6 0 0 0 0 6 0 0 0 0 , e A = 1 6 18 36 0 1 6 18 0 0 1 6 0 0 0 1 .
    An almost perfect match is found between the solution from the proposed algorithm with t Δ = 0.01 , and the above analytical solution with a deviation only in the 14th or 15th decimal place for some of the entries.
  • If A is nearly defective, then methods based on eigenvectors can yield erroneous results [2]. An example of such a matrix, and the analytical solution for its exponential are given by
    A = 1 + ϵ 1 0 1 ϵ , e A = e 1 + ϵ e sinh ϵ ϵ 0 e 1 ϵ ,
    For ϵ = 10 5 and t Δ = 0.1 , the error norm is 2.82 × 10 12 showing the high accuracy of the proposed algorithm even with a relatively large t Δ . Another similar example is presented in Reference [15], where, again, the proposed algorithm yields the correct solution.
  • If A is in the form of a Jordan block, say with the form given below, then we have [2]
    A = 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 , e A = e 1 1 1 / 2 ! 1 / 3 ! 0 1 1 1 / 2 ! 0 0 1 1 0 0 0 1 .
    Once again with t Δ = 0.01 , the proposed algorithm yields the above analytical solution almost perfectly with an error norm of around 1.06 × 10 14 .
  • This is a challenging example due to the highly ill-conditioned matrix A , where one of the older versions of the function expm(.) in MATLAB [13] yielded an erroneous result (note, however, that the current version does yield the correct result) [16]. With a = 2 × 10 10 , b = 4 × 10 8 / 6 , c = 200 / 3 , d = 3 , e = 10 8 , the matrix and the result obtained using the proposed algorithm with t Δ = 0.001 are as follows:
    A = 0 e 0 ( a + b ) d a c 0 c , e A = 0.44684946828318223 1.5404415738395189 E 9 0.46281145355877312 5743067.7794792280 1.5283003868680811 E 2 4526542.7127836645 0.44772297784950188 1.5427048451959113 E 9 0.0 . 46348064883764961 .
    The error norms are as shown in Table 2, and again demonstrate the high accuracy of the proposed algorithm.
  • Consider A to be a skew-symmetric matrix; in which case, we know that e A is an orthogonal matrix [17]. As an example,
    A = 0 10 6 10 6 0 , e A = cos ( 10 6 ) sin ( 10 6 ) sin ( 10 6 ) cos ( 10 6 ) .
    The error norms with the proposed algorithm are as shown in Table 3.
    Note that a very fine t Δ is required to capture the very high frequency oscillation of the solution with time. The expm() function yields a solution with an error norm of 5.5 × 10 17 , and is thus much more effective than the proposed algorithm both in terms of accuracy and computational time on this particular example. This is because our algorithm is based on time-stepping, and errors accumulate from one time step to another.
  • This is again an example of an extremely ill-conditioned matrix, which makes it very challenging to find its matrix exponential. The matrix and the result that we obtain with t Δ = 0.001 are
    A = 1 0 0 300 0 0 0 175 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 30 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 10 0 0 0 0 1 0 0 0 40 0 130 0 0 1 , e A = 2.15802578 × 10 41 0 1.67846449 × 10 41 6.82427671 × 10 41 5.45500960 × 10 41 0 0 3.98082808 × 10 41 0 2.71828183 0 0 0 0 0 0 0 0 2.71828183 0 0 0 0 0 6.82427671 × 10 40 0 5.30777077 × 10 40 2.15802578 × 10 41 1.72502550 × 10 41 0 0 1.25884837 × 10 41 0 0 0 0 2.71828183 0 0 0 0 0 0 0 0 2.71828183 0 0 0 27.18281828 0 0 0 0 2.71828183 0 0 0 108.73127314 0 353.37663770 0 0 2.71828183 .
    Note the dramatic variations in the entries of e A . The above result agrees very closely with the one obtained using the expm(.) function in MATLAB [13]. The function expmdemo3 in MATLAB [13] which is based on eigenvalues/eigenvectors yields an incorrect result (after giving a warning that the results may be inaccurate due to the ill-conditioning of A ). The error norms are as shown in Table 4.
  • This example shows that the proposed algorithm can compute the cosine or sine of a matrix accurately. Let A be as in Example 2. The analytical solutions are
    cos ( A ) = 1 0 18 0 0 1 0 18 0 0 1 0 0 0 0 1 , sin ( A ) = 0 6 0 36 0 0 6 0 0 0 0 6 0 0 0 0 .
    An almost perfect match with the above analytical solutions is obtained with t Δ = 10 3 .
  • This example is challenging since the matrix A is both large and singular. Consider a 100 × 100 matrix A with all entries as 1. Only one eigenvalue of A is nonzero with a value of 100. The diagonal elements of e A are given by ( e 100 + 99 ) / 100 (which is approximately 2.688117141816136 × 10 41 ), while the off-diagonal elements are ( e 100 1 ) / 100 . A Fortran implementation of the scaling and squaring algorithm gives a diagonal value of 2.689864309677 × 10 41 with a run time of 0.04 s, while the proposed algorithm yields diagonal values of 2.6881062463688374 × 10 41 and 2.6881171418167547 × 10 41 with run times of 0.33 s ( t Δ = 10 2 ) and 2.5 s ( t Δ = 10 3 ), respectively, showing the extremely high accuracy of the proposed method even for large and singular matrices. The result obtained with the expm() function of MATLAB [13] is 2.688117141815979 × 10 41 . Although the run time with the scaling and squaring algorithm may appear to be smaller compared to that of the proposed method, obtaining the solution at all the intermediate 1000 time steps (which is what is generally of interest) as in our algorithm would involve either 1000 runs or matrix multiplications in order to obtain the complete dynamical solution.

4. Conclusions

A robust strategy that simply involves the repeated evaluation of the recursion relations given by Equations (4), Equation (5), or Equation (6) at each time step to find the matrix exponential, or to solve a set of differential equations with constant coefficient, respectively, at different times within a given time interval, has been developed in this work. There are no factors that need to be adjusted either within the algorithm or by the user. The performance of the proposed algorithm has been compared with existing strategies, and has been shown to be robust even on a set of pathological examples. The key advantage of the proposed method over the traditional techniques is that it computes the entire time evolution of the matrix Z in Equation (1), and unlike traditional methods, is easily generalized to the case where the matrix A is a function of time, and where the governing equation involves a forcing function as in Equation (7).

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The author declares no conflicts of interest.

References

  1. Jog, C.S. Derivatives of the stretch, rotation and exponential tensors in n-dimensional vector spaces. J. Elast. 2006, 82, 175–192. [Google Scholar] [CrossRef] [Scilit]
  2. Moler, C.B.; van Loan, C.F. Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later. SIAM Rev. 2003, 45, 3–49. [Google Scholar] [CrossRef] [Scilit]
  3. Betsch, P.; Steinmann, P. Inherently energy-conserving time finite elements for classical mechanics. J. Comput. Phys. 2000, 160, 88–116. [Google Scholar] [CrossRef] [Scilit]
  4. Jog, C.S.; Agrawal, M.; Nandy, A. The time finite element as a robust general scheme for solving nonlinear dynamic equations including chaotic systems. Appl. Math. Comput. 2016, 279, 43–61. [Google Scholar] [CrossRef] [Scilit]
  5. Higham, N.J. The scaling and squaring method for the matrix exponential revisited. SIAM J. Matrix Anal. Appl. 2005, 26, 1179–1193. [Google Scholar] [CrossRef] [Scilit]
  6. Al-Mohy, A.H.; Higham, N.J. A new scaling and squaring algorithm for the matrix exponential. SIAM J. Matrix Anal. Appl. 2009, 31, 970–989. [Google Scholar]
  7. Blanes, S.; Kolylov, N.; Seydaouglu, M. Efficient scaling and squaring method for matrix exponential. SIAM J. Matrix Anal. Appl. 2025, 46, 94–120. [Google Scholar] [CrossRef] [Scilit]
  8. Sastre, J.; Ibanez, J.; Defez, E.; Ruiz, P. New scaling-squaring Taylor algorithms for computing the matrix exponential. SIAM J. Sci. Comput. 2015, 37, A439–A455. [Google Scholar] [CrossRef] [Scilit]
  9. Al-Mohy, A.H.; Higham, N.J. Computing the action of the matrix exponential, with an application to exponential integrators. SIAM J. Sci. Comput. 2011, 35, 488–511. [Google Scholar] [CrossRef] [Scilit]
  10. Ward, R.C. Numerical computation of the matrix exponential with accuracy estimate. SIAM J. Numer. Appl. 1977, 14, 600–610. [Google Scholar] [CrossRef] [Scilit]
  11. Bader, P.; Blanes, S.; Casas, F. Computing the matrix exponential with an optimized Taylor polynomial approximation. Mathematics 2019, 7, 1174. [Google Scholar] [CrossRef] [Scilit]
  12. Alonso, J.M.; Ibáñez, J.; Defez, E.; Alonso-Jordá, P. Euler polynomials for the matrix exponential approximation. J. Comput. Appl. Math. 2023, 425, 115074. [Google Scholar] [CrossRef] [Scilit]
  13. MATLAB, version 24.2 (R2024b); The MathWorks Inc.: Natick, MA, USA, 2024. Available online: https://www.mathworks.com (accessed on 23 January 2025).
  14. Mathematica, version 14.2.1; Wolfram Research Inc.: Champaign, IL, USA, 2014.
  15. Matrix Exponentials. Available online: https://in.mathworks.com/help/matlab/math/matrix-exponentials.html (accessed on 15 January 2026).
  16. A Balancing Act for the Matrix Exponential. Available online: https://blogs.mathworks.com/cleve/2012/07/23/a-balancing-act-for-the-matrix-exponential/ (accessed on 25 January 2026).
  17. Gallier, J.; Xu, D. Computing of exponentials of skew-symmetric matrices and logarithms of orthogonal matrices. Int. J. Robot. Autom. 2002, 17, 1–11. [Google Scholar]
Table 1. Variation of the error norm with time step for Example 1.
Table 1. Variation of the error norm with time step for Example 1.
t Δ
0.10.01
E 5.73 × 10−124.05 × 10−14
Table 2. Variation of the error norm with time step for Example 5.
Table 2. Variation of the error norm with time step for Example 5.
t Δ
0.10.01
E 7.4 × 10−105.8 × 10−14
Table 3. Variation of the error norm with time step for Example 6.
Table 3. Variation of the error norm with time step for Example 6.
t Δ
10−710−8
E 3.9 × 10−107.0 × 10−9
Table 4. Variation of the error norm with time step for Example 7.
Table 4. Variation of the error norm with time step for Example 7.
t Δ
0.010.001
E 2.8 × 10−69.4 × 10−14
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Jog, C.S. A Robust Method for Calculating the Matrix Exponential Based on the Time Finite Element Method. Mathematics 2026, 14, 2366. https://doi.org/10.3390/math14132366

AMA Style

Jog CS. A Robust Method for Calculating the Matrix Exponential Based on the Time Finite Element Method. Mathematics. 2026; 14(13):2366. https://doi.org/10.3390/math14132366

Chicago/Turabian Style

Jog, C. S. 2026. "A Robust Method for Calculating the Matrix Exponential Based on the Time Finite Element Method" Mathematics 14, no. 13: 2366. https://doi.org/10.3390/math14132366

APA Style

Jog, C. S. (2026). A Robust Method for Calculating the Matrix Exponential Based on the Time Finite Element Method. Mathematics, 14(13), 2366. https://doi.org/10.3390/math14132366

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop