Advice for rank computation

8 views
Skip to first unread message

Charles Bouillaguet

unread,
Apr 12, 2016, 4:26:00 PM4/12/16
to ffpack-devel
Hi guys,

I would like to use FFLAS-FFPACK to compute the rank of a dense matrix. The coefficients are integer modulo 42013 (not centered around zero), stored inside int32_t. I will thus have row vectors of type int32_t[].

My code produces the matrix row-by-row. It looks like this :

int32_t row = malloc(...)
for(i=0; i<n; i++) {
    [code that fills row]
    <insert FFLAS magic here>
}
int k = FFPACK::Rank(.....)

What is the best way to build the FFLAS matrix object, and which field implementation should I use? Can I use level-2 "assign" operations with my row vectors?

Thanks to all of you,
--
Charles Bouillaguet

Jean-Guillaume Dumas

unread,
Apr 14, 2016, 5:48:54 AM4/14/16
to ffpack...@googlegroups.com
Hello,
I would recommend ModularBalanced<double> anyway ,
then use a level2 finit to convert to the centered representation.

there is no explicit init from int32, but there is one from int64.
So either conversion wil work smoothly, or one need to add one in
givaro/src/kernel/ring/modular-balanced-double.inl

inline ModularBalanced<double>::Element&
ModularBalanced<double>::init(Element& x, const int32_t y) const

Yours,

--
Jean-Guillaume Dumas.
____________________________________________________________________
Jean-Guill...@imag.fr Tél.: +33 476 514 866
Professeur, Université Grenoble Alpes. Fax.: +33 476 631 263
Laboratoire Jean Kuntzmann, Mathématiques Appliquées et Informatique
51, avenue des Mathématiques. LJK/IMAG - BP53. 38041 Grenoble FRANCE
http://ljk.imag.fr/membres/Jean-Guillaume.Dumas
____________________________________________________________________

Reply all
Reply to author
Forward
0 new messages