From: kovarik@mcmail.cis.McMaster.CA (Zdislav V. Kovarik) Subject: Re: Square root of a matrix? Date: 17 Sep 2000 19:20:57 -0400 Newsgroups: sci.math.num-analysis Summary: [missing] In article , Gerry Thomas wrote: :N. Higham published a paper on this in recent years. I don't have it :handy at this time but it's likely referenced in his SIAM book. It's :also a Matlab built-in, called sqrtm as opposed to sqrt which is :like the Fortran 90/95 elemental intrinsic. : :Good Luck, :Gerry T. : The references are: N. J. Higham, Computing real square roots of a real matrix, Linear Algebra and Appl., 88/89 (1987), pp. 405-430. A. Bjorck and S. Hammarling, A Schur method for the square root of a matrix, Linear Algebra and Appl., 52/53 (1983), pp. 127-140. MATLAB procedure does something less than complete eigenvalue/eigenvector calculation for a given A: it finds Schur decomposition T = Q' * A * Q where T is upper triangular, Q unitary, Q' its conjugate transpose, then finds W = T^(1/2) recursively, column by column, and transforms back: X = Q * W * Q'. (Schur decomposition is stable, compared with finding Jordan normal form.) Cheers, ZVK(Slavek). :Andreas Meyer wrote in message <39C50FFB.9BE411AC@ithe.rwth-aachen.de>... :>Hi, :> :>is anybody aware of an algorithm that :>- computes a square root of a square matrix :>- and does it more efficiently than by determining eigenvectors and :>eigenvalues of the matrix first? :> :>Any advise would be much appreciated. :> :>Kindest regards, :>Andreas Meyer ============================================================================== From: trhoffend@mmm.com (Tom Hoffend) Subject: Re: Integration of system of 1st order diff. equations Date: 18 Sep 2000 13:12:15 GMT Newsgroups: sci.math.num-analysis Andreas Meyer wrote: (snip) > Many thanks for the hint to expokit which I am currently applying to my > ODE and which appears to be doing a great job! > In the context of matrix exponentials, I came across the problem of > calculating cosh(sqrt(MATRIX)*t). As far as I understand expokit, the > evaluation of cosh(MATRIX*t) should be no problem. However, I wonder if > there is any way of taking into account the sqrt-operation on the matrix > as well. > I would be most thankful if you had any comments or advise in this > respect, too. For general theory concerning square root of a positive (semi)definite transformation on a Hilbert space, see the book "Functional Analysis" by F. Riesz and B. Sz.-Nagy, pp. 261-267. I actually read this when I was a summer intern at Kodak with Peter Castro, before I took control theory, and was learning from him about general decovolution problems and bounded linear operators Hilbert spaces, so I always remember it. For algorithms and references for numerical methods, see the biblical "Matrix Computations" (3rd edition) by G. Golub and C. Van Loan, in particular section 4.2.10 and chapter 11, which is about matrix functions in general. There are lots of good references in there, especially: Moler, C. B. and C. F. Van Loan, "Nineteen Dubious Ways to Compute the Exponential of a Matrix," SIAM Review 20, 1979, pp. 801-836. Matlab uses Parlett's algorithm, which uses the Schur decomposition, which is supposed to be one of the "less dubious" methods. It can have problems when the matrix has multiple eigenvalues. TRH -- Thomas R. Hoffend Jr., Ph.D. EMAIL: trhoffend@mmm.com 3M Company 3M Center Bldg. 201-1C-18 My opinions are my own and not St. Paul, MN 55144-1000 those of 3M Company. Opinions expressed herein are my own and may not represent those of my employer. ============================================================================== From: Eric Rudd Subject: Re: Square root of a matrix? Date: Mon, 18 Sep 2000 09:45:29 -0500 Newsgroups: sci.math.num-analysis "Zdislav V. Kovarik" wrote: > The references are: > > N. J. Higham, Computing real square roots of a real > matrix, Linear Algebra and Appl., 88/89 (1987), pp. 405-430. > A. Bjorck and S. Hammarling, A Schur method for the square root of a > matrix, Linear Algebra and Appl., 52/53 (1983), pp. 127-140. Also check Higham's Web site, which contains a gold mine of downloadable papers: http://www.ma.man.ac.uk/~higham/ In particular the matrix square-root problem is discussed in: http://www.maths.man.ac.uk/~nareports/narep336.ps.gz http://www.maths.man.ac.uk/~nareports/narep305.ps.gz -Eric Rudd rudd@cyberoptics.com ============================================================================== From: Eric Rudd Subject: Re: Square root of a matrix? Date: Thu, 21 Sep 2000 15:12:09 -0500 Newsgroups: sci.math.num-analysis bv wrote: > Andreas Meyer wrote: > > B(k+1) = [B(k) + inv(B(k))A]/2 > > for the sln, B = sqrt(A). Higham discusses this iteration: http://www.maths.man.ac.uk/~nareports/narep305.ps.gz However, he notes that it "has such poor numerical stability that it is useless for practical computation," unless the eigenvalues satisfy a rather strong condition, which he gives. However, he discusses a variant, called the Denman-Beavers iteration, that is stable; refer to the above URL for more details. -Eric Rudd rudd@cyberoptics.com