Square root of a matrix

7 views (last 30 days)
Qian Feng
Qian Feng on 21 Feb 2017
Edited: Matt J on 21 Feb 2017
I encountered a problem when I try to compute the square root of a positive definite matrix
syms x real
mi = [1; exp(x); exp(2*x); exp(3*x); exp(-x)];
F = vpa(simplify(int(mi*mi',x,-10,0), 'Steps', 100)); Fs = sqrtm(F);
The problem here is Fs should be a symmetric matrix but Fs- Fs' here is not a zero matrix.
I have tried to use symbolic calculation instead of vpa but it seems that it requires a very long time to compute.
Is there any way that Fs can be computed without destroying its symmetric structure ?

Accepted Answer

Matt J
Matt J on 21 Feb 2017
Edited: Matt J on 21 Feb 2017
You can post-correct the asymmetry as follows,
Fs=(Fs+Fs.')/2

More Answers (0)

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!