{"id":113,"date":"2008-12-17T16:23:39","date_gmt":"2008-12-17T07:23:39","guid":{"rendered":"http:\/\/www.mozilla.gr.jp\/~shimono\/blog\/?p=113"},"modified":"2008-12-17T16:23:39","modified_gmt":"2008-12-17T07:23:39","slug":"error-on-ublaslu-library-of-boost","status":"publish","type":"post","link":"https:\/\/blog.himor.in\/?p=113","title":{"rendered":"Error on ublas\/lu library of boost"},"content":{"rendered":"<p>First, I&#8217;ve wrote some source code,<\/p>\n<blockquote><p>#include &lt;boost\/numeric\/ublas\/matrix.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/triangular.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/vector.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/lu.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/io.hpp&gt;<\/p>\n<p>\/\/ calc inverted-matrix<br \/>\nublas::matrix&lt;double&gt; mat_lu(lc_param);<br \/>\nublas::matrix&lt;double&gt; lc_conj;<br \/>\nublas::permutation_matrix&lt;&gt; lu_exc(lc_param.size1());<br \/>\nlc_conj = ublas::identity_matrix&lt;double&gt;(lc_param.size1());<br \/>\nublas::lu_factorize(mat_lu, lu_exc);<br \/>\nublas::lu_substitute(mat_lu, lu_exc, lc_conj);<\/p><\/blockquote>\n<p>and gcc 4.1.2 arises error,<\/p>\n<blockquote><p>cc -Wall -Wextra -g -I.\/ -I..\/ -o hvltest.o -c hvltest.cc<br \/>\n\/usr\/include\/boost\/numeric\/ublas\/lu.hpp: In function &#8216;typename M::size_type boost::numeric::ublas::lu_factorize(M&amp;, PM&amp;) [with M = boost::numeric::ublas::matrix, boost::numeric::ublas::unbounded_array &gt; &gt;, PM = boost::numeric::ublas::permutation_matrix &gt; &gt;]&#8217;:<br \/>\nhvltest.cc:1332:   instantiated from here<br \/>\n\/usr\/include\/boost\/numeric\/ublas\/lu.hpp:137: error: no matching function for call to &#8216;project(boost::numeric::ublas::matrix_column, boost::numeric::ublas::unbounded_array &gt; &gt; &gt;&amp;, boost::numeric::ublas::basic_range)&#8217;<br \/>\nhvltest.cc:1332:   instantiated from here<br \/>\n\/usr\/include\/boost\/numeric\/ublas\/lu.hpp:146: error: no matching function for call to &#8216;project(boost::numeric::ublas::matrix_column, boost::numeric::ublas::unbounded_array &gt; &gt; &gt;&amp;, boost::numeric::ublas::basic_range)&#8217;<br \/>\nhvltest.cc:1332:   instantiated from here<br \/>\n\/usr\/include\/boost\/numeric\/ublas\/lu.hpp:150: error: no matching function for call to &#8216;project(boost::numeric::ublas::matrix_column, boost::numeric::ublas::unbounded_array &gt; &gt; &gt;&amp;, boost::numeric::ublas::basic_range)&#8217;<br \/>\n\/usr\/include\/boost\/numeric\/ublas\/lu.hpp:150: error: no matching function for call to &#8216;project(boost::numeric::ublas::matrix_row, boost::numeric::ublas::unbounded_array &gt; &gt; &gt;&amp;, boost::numeric::ublas::basic_range)&#8217;<\/p><\/blockquote>\n<p>To fix this, I need to include &#8220;boost\/numeric\/ublas\/vector_proxy.hpp&#8221; like<\/p>\n<blockquote><p>#include &lt;boost\/numeric\/ublas\/matrix.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/triangular.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/vector.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/vector_proxy.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/lu.hpp&gt;<br \/>\n#include &lt;boost\/numeric\/ublas\/io.hpp&gt;<\/p><\/blockquote>\n<p>hrm..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>First, I&#8217;ve wrote some source code, #include &lt;boost\/numeric\/ublas\/matrix.hpp&gt; #include &lt;boost\/numeric\/ublas\/triangular.hpp&gt; #include &lt;boost\/numeric\/ublas\/vector.hpp&gt; #include &lt;boost\/numeric\/ublas\/lu.hpp&gt; #include &lt;boost\/numeric\/ublas\/io.hpp&gt; \/\/ calc inverted-matrix ublas::matrix&lt;double&gt; mat_lu(lc_param); ublas::matrix&lt;double&gt; lc_conj; ublas::permutation_matrix&lt;&gt; lu_exc(lc_param.size1()); lc_conj = ublas::identity_matrix&lt;double&gt;(lc_param.size1()); ublas::lu_factorize(mat_lu, lu_exc); ublas::lu_substitute(mat_lu, lu_exc, lc_conj); and gcc 4.1.2 arises error, cc -Wall -Wextra -g -I.\/ -I..\/ -o hvltest.o -c hvltest.cc \/usr\/include\/boost\/numeric\/ublas\/lu.hpp: In function &#8216;typename M::size_type boost::numeric::ublas::lu_factorize(M&amp;, PM&amp;) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,16,14],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.himor.in\/index.php?rest_route=\/wp\/v2\/posts\/113"}],"collection":[{"href":"https:\/\/blog.himor.in\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.himor.in\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.himor.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.himor.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=113"}],"version-history":[{"count":1,"href":"https:\/\/blog.himor.in\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":114,"href":"https:\/\/blog.himor.in\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions\/114"}],"wp:attachment":[{"href":"https:\/\/blog.himor.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.himor.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.himor.in\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}