Square root of a matrix

2 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)

Community Treasure Hunt

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

Start Hunting!

Translated by