<DIV><BR></DIV>
<DIV></DIV><BR><PRE>��2010-03-29&nbsp;08:28:13��"Steven&nbsp;Watanabe"&nbsp;&lt;watanabesj@gmail.com&gt;&nbsp;���
&gt;AMDG
&gt;
&gt;fmingu&nbsp;wrote:
&gt;&gt;&nbsp;I&nbsp;am&nbsp;using&nbsp;MTL(Matrix&nbsp;Template&nbsp;Library)&nbsp;for&nbsp;Matrix&nbsp;computing&nbsp;in&nbsp;Dev-C++&nbsp;4.9.8.0&nbsp;and&nbsp;updated&nbsp;the&nbsp;gcc&nbsp;version&nbsp;from&nbsp;3.2&nbsp;to&nbsp;4.4.1&nbsp;by&nbsp;installing&nbsp;tdm-mingw-1.908.0-4.4.1-2&nbsp;and&nbsp;the&nbsp;boost&nbsp;version&nbsp;is&nbsp;1.37.0.&nbsp;The&nbsp;system&nbsp;is&nbsp;Windows&nbsp;xp&nbsp;The&nbsp;sample&nbsp;code&nbsp;is&nbsp;:
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;#include&nbsp;&lt;boost/numeric/mtl/mtl.hpp&gt;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;#include&nbsp;"boost/random/normal_distribution.hpp"
&gt;&gt;
&gt;&gt;&nbsp;#include&nbsp;&lt;boost/random.hpp&gt;
&gt;&gt;
&gt;&gt;&nbsp;#include&nbsp;&lt;boost/random/uniform_real.hpp&gt;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;int&nbsp;main(int&nbsp;argc,&nbsp;char*&nbsp;argv[])
&gt;&gt;
&gt;&gt;&nbsp;{
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;namespace&nbsp;mtl;&nbsp;using&nbsp;namespace&nbsp;mtl::matrix;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;unsigned&nbsp;n=&nbsp;5;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dense2D&lt;double&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A(n,&nbsp;n),&nbsp;B(n,&nbsp;n);
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;morton_dense&lt;double,&nbsp;doppled_64_row_mask&gt;&nbsp;&nbsp;C(n,&nbsp;n),&nbsp;D(n,&nbsp;n);
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dense2D&lt;double&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;F(n,&nbsp;n),&nbsp;E(n,&nbsp;n);
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hessian_setup(A,&nbsp;3.0);&nbsp;hessian_setup(B,&nbsp;1.0);&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;hessian_setup(C,&nbsp;2.0);&nbsp;hessian_setup(D,&nbsp;11.0);
&gt;&gt;
&gt;&gt;&nbsp;B(1,1)=9.9999;
&gt;&gt;
&gt;&gt;&nbsp;..........................
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"The&nbsp;matrices&nbsp;are:&nbsp;B=\n"&nbsp;&lt;&lt;&nbsp;B&nbsp;&lt;&lt;"\n";&nbsp;
&gt;&gt;
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"The&nbsp;result&nbsp;is&nbsp;&nbsp;"&nbsp;&lt;&lt;1.0/3.0&nbsp;&lt;&lt;"\n";
&gt;&gt;
&gt;&gt;&nbsp;����������������.
&gt;&gt;
&gt;&gt;&nbsp;But&nbsp;the&nbsp;result&nbsp;is&nbsp;shown&nbsp;that&nbsp;B(1,1)&nbsp;is&nbsp;10,&nbsp;and&nbsp;1.0/3.0&nbsp;is&nbsp;0.33.
&gt;&gt;
&gt;&gt;&nbsp;How&nbsp;can&nbsp;I&nbsp;get&nbsp;the&nbsp;highest&nbsp;precision&nbsp;of&nbsp;the&nbsp;type&nbsp;double&nbsp;and&nbsp;dense2D&lt;double&gt;&nbsp;for&nbsp;scientific&nbsp;computation?
&gt;&gt;
&gt;&gt;&nbsp;The&nbsp;same&nbsp;question&nbsp;occurred&nbsp;in&nbsp;random&nbsp;number&nbsp;generation&nbsp;in&nbsp;boost&nbsp;random&nbsp;library.
&gt;&gt;&nbsp;&nbsp;&nbsp;
&gt;
&gt;Use&nbsp;std::setprecision&nbsp;to&nbsp;print&nbsp;more&nbsp;digits.
&gt;
&gt;In&nbsp;Christ,
&gt;Steven&nbsp;Watanabe
&gt;</PRE><PRE>I rewrote the program following your advice but  &nbsp;&nbsp;&nbsp; </PRE><PRE>std::cout &lt;&lt; "The matrices are: B=\n" &lt;&lt;&nbsp; std::setprecision(5)&lt;&lt;B&lt;&lt;"\n"; </PRE><PRE>do not  show any changes  while the code:<BR>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; &nbsp;"The&nbsp;result&nbsp;is&nbsp;&nbsp;"&nbsp;&nbsp; &lt;&lt; std::setprecision(10)&lt;&lt;1.0/3.0 &lt;&lt;"\n"; </PRE><PRE>worked well.</PRE><PRE>How can I do now?</PRE><PRE>Thanks a lot.<BR></PRE><br><br><span title="neteasefooter"/></span>