<div dir="ltr"><div><div><div><div><div><div><div>Hi Takoua,<br><br></div>Are you sure the Cholesky decomposition was complaining about symmetry and not something else?<br></div>In fact in your R example, the result <b>IS</b> a symmetric matrix. The two numbers are just displayed differently (the first column displays 6 digits, and the second column displays 7 digits), but the values in memory are the same. You can try<br><br><span style="font-family:monospace,monospace">## A better way is m = tcrossprod(x)</span><br></div><span style="font-family:monospace,monospace">m = x %*% t(x)<br></span></div><div><span style="font-family:monospace,monospace">format(m, digits = 10)<br></span></div><span style="font-family:monospace,monospace">m[1, 2] == m[2, 1]</span><br><br></div>to verify this.<br><br><br></div>Best,<br></div>Yixuan<br><div><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-07-21 6:46 GMT-04:00 Jendoubi, Takoua <span dir="ltr"><<a href="mailto:t.jendoubi14@imperial.ac.uk" target="_blank">t.jendoubi14@imperial.ac.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal">Dear all,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I am using RcppArmadillo to deal with some matrix computations. Specifically I need to cholesky factorization of some symmetric matrices.<u></u><u></u></p>
<p class="MsoNormal">I am generating random vectors using Rcpp and using them to construct symmetric matrices.<u></u><u></u></p>
<p class="MsoNormal">I have an error stating that my matrix is not symmetric although it definitely should be. Here is the example I am working with (in R):<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">>x<u></u><u></u></p>
<p class="MsoNormal" style="line-height:12.75pt;background:#323232;word-break:break-all">
<span style="font-size:10.0pt;font-family:Consolas;color:white">[1] -1.6683320 -0.8597148<u></u><u></u></span></p>
<p class="MsoNormal">>x%*%t(x)<u></u><u></u></p>
<pre style="line-height:12.75pt;background:#323232;word-break:break-all"><span style="font-family:Consolas;color:white">         [,1]      [,2]<u></u><u></u></span></pre>
<pre style="line-height:12.75pt;background:#323232;word-break:break-all"><span style="font-family:Consolas;color:white">[1,] 2.783332 1.4342896<u></u><u></u></span></pre>
<pre style="line-height:12.75pt;background:#323232;word-break:break-all"><span style="font-family:Consolas;color:white">[2,] 1.434290 0.7391095<u></u><u></u></span></pre>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Apparently, it is a rounding-off error. Is there any way to ensure that x%*%t(x) gives an exactly symmetric matrix to use for cholesky factorization?<u></u><u></u></p>
<p class="MsoNormal">I tried symmatu and symmatl but the error is still there.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Best,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="color:gray" lang="EN-US">Takoua Jendoubi<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:gray" lang="EN-US">PhD student<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:gray" lang="EN-US">School of Public Health & Department of Surgery and Cancer
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:gray" lang="EN-US">Main address :<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:gray" lang="FR">Imperial College London
</span><span style="color:gray" lang="EN-US">| </span>
<span style="color:gray" lang="FR">Room 171 </span><span style="color:gray" lang="EN-US">|</span><span style="color:gray" lang="FR"> St Mary’s Campus
</span><span style="color:gray" lang="EN-US">| </span>
<span style="color:gray" lang="FR">Norfolk Place </span>
<span style="color:gray" lang="EN-US">| </span><span style="color:gray" lang="FR">London
</span><span style="color:gray" lang="EN-US">|</span><span style="color:gray" lang="FR"> W2 1PG</span><span style="color:gray" lang="EN-US"> |</span><span><u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br>_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" rel="noreferrer" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Yixuan Qiu <<a href="mailto:yixuan.qiu@cos.name" target="_blank">yixuan.qiu@cos.name</a>><br>Department of Statistics,<br>Purdue University<br></div>
</div></div>