<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>linbox: Todo List</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"> function hasClass(ele,cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); } function addClass(ele,cls) { if (!this.hasClass(ele,cls)) ele.className += " "+cls; } function removeClass(ele,cls) { if (hasClass(ele,cls)) { var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); ele.className=ele.className.replace(reg,' '); } } function toggleVisibility(linkObj) { var base = linkObj.getAttribute('id'); var summary = document.getElementById(base + '-summary'); var content = document.getElementById(base + '-content'); var trigger = document.getElementById(base + '-trigger'); if ( hasClass(linkObj,'closed') ) { summary.style.display = 'none'; content.style.display = 'block'; trigger.src = 'open.png'; removeClass(linkObj,'closed'); addClass(linkObj,'opened'); } else if ( hasClass(linkObj,'opened') ) { summary.style.display = 'block'; content.style.display = 'none'; trigger.src = 'closed.png'; removeClass(linkObj,'opened'); addClass(linkObj,'closed'); } return false; } </script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">linbox</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> </div> <div class="header"> <div class="headertitle"> <div class="title">Todo List </div> </div> </div> <div class="contents"> <div class="textblock"><p><a class="anchor" id="_todo000043"></a> </p> <dl> <dt>Global <a class="el" href="test-ftrmm_8_c.html#abd3c561bee796aeb10e039121ed088ca">_LB_MAX_SZ</a> </dt> <dd>! </dd> </dl> <p><a class="anchor" id="_todo000053"></a> </p> <dl> <dt>Global <a class="el" href="benchmark-fgemm_8_c.html#a743ccd7040c6576e2d3345643c554eec">bench_blas</a> (index_t min, index_t max, int step) </dt> <dd><p class="startdd">compare to cblas_dgemm instead. </p> <p class="enddd">compare to cblas_dgemm instead. </p> </dd> </dl> <p><a class="anchor" id="_todo000054"></a> </p> <dl> <dt>Global <a class="el" href="benchmark-fgemm_8_c.html#a4f0284c3a6742f38db2c7dee525bae96">bench_rectangular</a> (index_t k, int charac, index_t l=2) </dt> <dd>resize if it>nb !! </dd> </dl> <p><a class="anchor" id="_todo000058"></a> </p> <dl> <dt>Global <a class="el" href="benchmark-ftr_xm_8_c.html#a3873235914aa84cdc74b29dffc05d3e5">bench_rectangular</a> (index_t k, int charac) </dt> <dd><p class="startdd">resize if it>nb !! </p> <p class="enddd">make long legends oblique. </p> </dd> </dl> <p><a class="anchor" id="_todo000052"></a> </p> <dl> <dt>File <a class="el" href="benchmark-fgemm_8_c.html">benchmark-fgemm.C</a> </dt> <dd>make graphs look better (legends, units,...) </dd> </dl> <p><a class="anchor" id="_todo000056"></a> </p> <dl> <dt>File <a class="el" href="benchmark-ftr_xm_8_c.html">benchmark-ftrXm.C</a> </dt> <dd><p class="startdd">ftrmm has an 'alpha' but mul/mulin in BMd don't... That could be useful for <img class="formulaInl" alt="$\alpha=-1$" src="form_89.png"/>... </p> <p class="enddd">benchmark ftrsm too here. </p> </dd> </dl> <p><a class="anchor" id="_todo000018"></a> </p> <dl> <dt>File <a class="el" href="blas-matrix_8h.html">blas-matrix.h</a> </dt> <dd>explain the differences with <code>DenseMatrixBase<<code>_element</code> ></code> and <code>DenseSubmatrix<<code>_element</code> ></code> or <code>DenseMatrix<<code>_field</code> ></code>... </dd> </dl> <p><a class="anchor" id="_todo000001"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a4a465969b676feff04a5617de44f628a">BlasMatrixDomain< Field >::mulpoly</a> (Polynomial &res, const Polynomial &P1, const Polynomial &P2) const </dt> <dd>Temporary: waiting for an implementation of a domain of polynomial </dd> </dl> <p><a class="anchor" id="_todo000040"></a> </p> <dl> <dt>File <a class="el" href="debug_8h.html">debug.h</a> </dt> <dd>we should put vector printing elsewhere. </dd> </dl> <p><a class="anchor" id="_todo000049"></a> </p> <dl> <dt>Global <a class="el" href="test-triplesbb_8_c.html#adaefb4ae6d1c06278821a2a0d8fa8cf1">eqVec</a> (const Vec &a, const Vec &b) </dt> <dd>factorize somewhere!</dd> </dl> <p><a class="anchor" id="_todo000004"></a> </p> <dl> <dt>Global <a class="el" href="namespace_lin_box.html#a8b7fce5e394fc79d22cefb18b791bed5">LinBox::NullSpaceBasis</a> (const Field &F, const LinBoxTag::Side Side, BlasMatrix< typename Field::Element > &A, BlasMatrix< typename Field::Element > &Ker, size_t &kerdim) </dt> <dd>this is slow : use a constructor from Ker ? </dd> </dl> <p><a class="anchor" id="_todo000025"></a> </p> <dl> <dt>Global <a class="el" href="namespace_lin_box.html#a062505f4beed42f63bcf15ae572742c4">LinBox::random_lu_rank</a> (const Field &F, const Randiter &R, <a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix< Field ></a> &A, int &rank) </dt> <dd><p class="startdd">!!! </p> <p>RandomPermutation avec P de type [Matrix-Blas]Permutation </p> <p>: L = [[L1,0],[A,L2]] ;U = [[U1,B],[0,U2]] ; LU = [[ rec(L1,U1), ftrmm(L1,B)],[ftrmm(A,U1),fgemm(A,B)+rec(L2,U2) ]] de même UL </p> <p>create BMD.applyP(A,P,BlasTag::Left) ; avec P : BlasPermutation ou P : MatrixPermutation </p> <p>BlasPermutation a un ordre <code>p</code> et une taille <code>r</code> distinctes !!! </p> <p>RandomPermutation avec P de type [Matrix-Blas]Permutation </p> <p>: L = [[L1,0],[A,L2]] ;U = [[U1,B],[0,U2]] ; LU = [[ rec(L1,U1), ftrmm(L1,B)],[ftrmm(A,U1),fgemm(A,B)+rec(L2,U2) ]] de même UL </p> <p>create BMD.applyP(A,P,BlasTag::Left) ; avec P : BlasPermutation ou P : MatrixPermutation </p> <p class="enddd">BlasPermutation a un ordre <code>p</code> et une taille <code>r</code> distinctes !!! </p> </dd> </dl> <p><a class="anchor" id="_todo000024"></a> </p> <dl> <dt>Global <a class="el" href="namespace_lin_box.html#a62f5b68db6d41c89bdbbc9c5645199c6">LinBox::RandomBlasPermutation</a> (<a class="el" href="class_lin_box_1_1_blas_permutation.html">BlasPermutation< size_t ></a> &P) </dt> <dd>To be factorized. </dd> </dl> <p><a class="anchor" id="_todo000035"></a> </p> <dl> <dt>Global <a class="el" href="group__solutions.html#gadebecfaca29a9dbb684a65b9e1e4bc72">LinBox::smithForm</a> (Output &S, const Blackbox &A, const MyMethod &M) </dt> <dd>Other methods will be provided later. For now see the <a class="el" href="smith_8_c.html">examples/smith.C</a> for ways to call other smith form algorithms. </dd> </dl> <p><a class="anchor" id="_todo000039"></a> </p> <dl> <dt>Global <a class="el" href="namespace_lin_box.html#a8fa4301051f45a21d16461847268bb5d">LinBox::solve</a> (Vector &x, const BB &A, const Vector &b, const Method::Elimination &m) </dt> <dd>temporary - fix this </dd> </dl> <p><a class="anchor" id="_todo000055"></a> </p> <dl> <dt>Global <a class="el" href="benchmark-fgemm_8_c.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av) </dt> <dd><p class="startdd">use commentator. </p> <p class="enddd">use commentator. </p> </dd> </dl> <p><a class="anchor" id="_todo000022"></a> </p> <dl> <dt>Group <a class="el" href="group__matrix.html">matrix</a> </dt> <dd>talk about Linux::BlasPermutation </dd> </dl> <p><a class="anchor" id="_todo000023"></a> </p> <dl> <dt>File <a class="el" href="matrix_2random-matrix_8h.html">matrix/random-matrix.h</a> </dt> <dd>à la <a class="el" href="stream_8h.html" title="Generation of sequences of random vectors.">vector/stream.h</a> </dd> </dl> <p><a class="anchor" id="_todo000019"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_matrix_domain.html#a011203bfe9a4b99ee0c749067f8626fe">MatrixDomain< Field >::muladd</a> (Matrix1 &D, const typename Field::Element &beta, const Matrix1 &C, const typename Field::Element &alpha, const Matrix2 &A, const Matrix3 &B) const </dt> <dd>not efficient... </dd> </dl> <p><a class="anchor" id="_todo000020"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_matrix_domain.html#a243d325a29a9beacac97546870f13b16">MatrixDomain< Field >::pow_apply</a> (Matrix1 &M1, const Matrix2 &M2, unsigned long int k) const </dt> <dd>Need documentation of these methods </dd> </dl> <p><a class="anchor" id="_todo000021"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_matrix_permutation.html#a109318636af36bc89e9853f19e4369e2">MatrixPermutation< _UnsignedInt >::Transpose</a> () </dt> <dd>in place ! (revient à parcourir des cycles) </dd> </dl> <p><a class="anchor" id="_todo000005"></a> </p> <dl> <dt>File <a class="el" href="minpoly-integer_8h.html">minpoly-integer.h</a> </dt> <dd>better filter out repeated primes </dd> </dl> <p><a class="anchor" id="_todo000016"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_modular_3_01uint8__t_01_4.html#aadf4e83f1ac414b0caa1bef2154dabdb">Modular< uint8_t >::add</a> (Element &x, const Element &y, const Element &z) const </dt> <dd>is it faster to use uint32 and multiple casts ? </dd> </dl> <p><a class="anchor" id="_todo000017"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_modular_3_01uint8__t_01_4.html#aa14037ab7a2e80c0e663a760acbaff15">Modular< uint8_t >::subin</a> (Element &x, const Element &y) const </dt> <dd>why <code>long</code> here ? </dd> </dl> <p><a class="anchor" id="_todo000062"></a> </p> <dl> <dt>Class <a class="el" href="class_lin_box_1_1_plot_data.html">PlotData< NAM ></a> </dt> <dd>write members that permute, add, scale,... data. </dd> </dl> <p><a class="anchor" id="_todo000063"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_plot_graph.html#adea50ecbec0a01566fecc9302fcef10b">PlotGraph< NAM >::print_latex</a> () </dt> <dd>check FN opened. </dd> </dl> <p><a class="anchor" id="_todo000061"></a> </p> <dl> <dt>Class <a class="el" href="class_lin_box_1_1_plot_style.html">PlotStyle</a> </dt> <dd>Allow for 'speed up against col X' style </dd> </dl> <p><a class="anchor" id="_todo000031"></a> </p> <dl> <dt>Class <a class="el" href="class_lin_box_1_1_random_integer_iter.html">RandomIntegerIter< _Unsigned ></a> </dt> <dd>one could create the same one on a <a class="el" href="class_lin_box_1_1_p_i_d__double.html" title="NO DOC.">LinBox::PID_double</a> ? </dd> </dl> <p><a class="anchor" id="_todo000032"></a> </p> <dl> <dt>Class <a class="el" href="class_lin_box_1_1_random_prime_iter.html">RandomPrimeIter</a> </dt> <dd>one could create the same one on a <a class="el" href="class_lin_box_1_1_p_i_d__double.html" title="NO DOC.">LinBox::PID_double</a> ? </dd> </dl> <p><a class="anchor" id="_todo000034"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_random_prime_iter.html#a0b5df60a2e7e225b5fc000827b1282cf">RandomPrimeIter::random_between</a> (integer &a, unsigned long _low_bits) const </dt> <dd>uses random_between when givaro is released. </dd> </dl> <p><a class="anchor" id="_todo000033"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_random_prime_iter.html#acc6f19d25798f3e4e19e8283abb90579">RandomPrimeIter::random_exact</a> (integer &a) const </dt> <dd>uses random_exact when givaro is released. </dd> </dl> <p><a class="anchor" id="_todo000007"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_rational_reconstruction.html#a8807d965e5c144a38943efb4439f0731">RationalReconstruction< _LiftingContainer, RatRecon >::dot</a> (Integer &d, const InVect1 &v1, const InVect2 &v2) const </dt> <dd>WHY a dot product here ? </dd> </dl> <p><a class="anchor" id="_todo000006"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_rational_reconstruction.html#af6cdc238c30c9bdb14130e9b28d6c724">RationalReconstruction< _LiftingContainer, RatRecon >::RationalReconstruction</a> (const LiftingContainer &lcontainer, const Ring &r=Ring(), int THRESHOLD=DEF_THRESH) </dt> <dd>maybe use different ring than the ring in lcontainer </dd> </dl> <p><a class="anchor" id="_todo000008"></a> </p> <dl> <dt>Class <a class="el" href="class_lin_box_1_1_r_n_s.html">RNS< Unsigned ></a> </dt> <dd>template by field and ring </dd> </dl> <p><a class="anchor" id="_todo000011"></a> </p> <dl> <dt>Global <a class="el" href="class_lin_box_1_1_r_n_s.html#a1bc08e779d55608baae5f071009507a8">RNS< Unsigned >::RNS</a> (unsigned long l, unsigned long ps=21) </dt> <dd>if log2(maxint/curint)<ps use smaller genprime. </dd> </dl> <p><a class="anchor" id="_todo000036"></a> </p> <dl> <dt>Group <a class="el" href="group__solutions.html">solutions</a> </dt> <dd><p class="startdd">its multipliers? its output form variants? </p> <p>primary form? Relative primary form of A? Primary form is similar to A and finest which is a direct sum of companion matrices C<sub>f<sub>i</sub></sub> such that, for all i, j, gcd(f<sub>i</sub>, f<sub>j</sub>) = 1 or f<sub>i</sub> or f<sub>j</sub>. Relative primary form is coarsest such decomposition.</p> <p class="enddd">this may soon be reversed, in fact.</p> </dd> </dl> <p><a class="anchor" id="_todo000014"></a> </p> <dl> <dt>Global <a class="el" href="namespacestd.html#a80daf20c2840242248c62832c37ab0f6">std::swap</a> (_Bit_reference __x, _Bit_reference __y) </dt> <dd>JGD 05.11.2009 : it should be in bits/stl_bvector.h ... </dd> </dl> <p><a class="anchor" id="_todo000048"></a> </p> <dl> <dt>File <a class="el" href="test-matrix-stream_8_c.html">test-matrix-stream.C</a> </dt> <dd>I would like to see a matrix writer that writes sms format and generic dense format. Then we could have a self contained test that checks the write/read cycle without depending on preexisting data files.</dd> </dl> <p><a class="anchor" id="_todo000047"></a> </p> <dl> <dt>Global <a class="el" href="test-ftrmm_8_c.html#af562f6ba0c5e32cde9e80c536ede98f9">test_applyP</a> (std::ostream &report, const Field &F) </dt> <dd>test <code>NULL</code> permutation </dd> </dl> <p><a class="anchor" id="_todo000044"></a> </p> <dl> <dt>Global <a class="el" href="test-ftrmm_8_c.html#a8ad73a4993c0cd69237f51d28b30e5c5">test_ftrmm</a> (std::ostream &report, const Field &F) </dt> <dd><p class="startdd">F.isInvertible() </p> <p>InvertibleRandomIter </p> <p class="enddd">check ftrsm fails nicely with non invertible A ! </p> </dd> </dl> <p><a class="anchor" id="_todo000041"></a> </p> <dl> <dt>Global <a class="el" href="test-field_8h.html#acd7e3a6e91f08cb2fa2d5a712e06d930">testField</a> (Field &F, const char *title, bool fieldp=true) </dt> <dd>untested so far : </dd> </dl> <p><a class="anchor" id="_todo000042"></a> </p> <dl> <dt>Global <a class="el" href="test-field_8h.html#ad2ade4995182d8497bfa770602893b86">testRingTrivia</a> (const Field &F, const char *name) </dt> <dd>enable init with 1UL et -1L pour GMPRationalElement </dd> </dl> </div></div> <hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>