BLAS GF(2)

12 views
Skip to first unread message

Alfredo

unread,
Jan 16, 2009, 1:49:19 PM1/16/09
to CyC++ Buenos Aires
Hola! ando necesitando alguna libreria en C++ para hacer operaciones
de algebra lineal sobre GF(2) con matrices grandes, por ahora vengo
usando uBLAS de Boost y esta buenisimo. Me las rebusco para hacer GF
(2) haciendo módulo, pero estoy pagando un precio alto, algo asi como
10E4 veces mas lento...

Algo optimizado sobre GF(8) tampoco vendria mal, pero lo mas
importante es GF(2). Lo ideal sería extender Boost como dicen aca:

http://www.nabble.com/Question-request-for-matrix-powers-and-other-stuff-td19683690.html

Pero si conocen algo ya echo y mas o menos práctico para guardar,
cargar y manipular matrices GF(2) agradeceria cualquier información al
respecto.

Saludos,

Alfredo

Alfredo

unread,
Jan 16, 2009, 1:52:32 PM1/16/09
to CyC++ Buenos Aires
Aclaro por las dudas, GF = Galois Field

http://en.wikipedia.org/wiki/Finite_field


On Jan 16, 4:49 pm, Alfredo <ortegaalfr...@gmail.com> wrote:
> Hola! ando necesitando alguna libreria en C++ para hacer operaciones
> de algebra lineal sobre GF(2) con matrices grandes, por ahora vengo
> usando uBLAS de Boost y esta buenisimo. Me las rebusco para hacer GF
> (2) haciendo módulo, pero estoy pagando un precio alto, algo asi como
> 10E4 veces mas lento...
>
> Algo optimizado sobre GF(8) tampoco vendria mal, pero lo mas
> importante es GF(2). Lo ideal sería extender Boost como dicen aca:
>
> http://www.nabble.com/Question-request-for-matrix-powers-and-other-st...

Juan Manuel Ollé

unread,
Jan 16, 2009, 3:40:38 PM1/16/09
to cp...@googlegroups.com
Alfredo,

No se bien que necesitas de algebra, pero si es especificamente
algebra matricial yo he utilizado (años atras) el paquete de LAPACK,
que en su momento estaba en FORTRAN con un wrapper de C y creo que
ahora hay una version en C++
aca te dejo algunos links

http://www.netlib.org/lapack/
http://math.nist.gov/lapack++/
http://www.oonumerics.org/oon/

Espero que te sea util
Saludos

2009/1/16 Alfredo <ortega...@gmail.com>:

Fernando Cacciola

unread,
Jan 16, 2009, 4:10:31 PM1/16/09
to cp...@googlegroups.com
Hola Juan,
Hola Alfredo,


No recuerdo que LAPACK fuera especialmente util para GF (de hecho es
está basado en BLAS), pero no soy ningún experto.

Un problema práctico con BLAS y LAPACK es que al estar originalmente
implementados en Fortran nunca hubo "una" librería BLAS/LAPACK
propiamente dicha (ya que ese concepto no existe en Fortran), mas bien,
librerías C o C++ por aquí y allá implementando o wrappeando un
*subconjunto* del API de BLAS o LAPACK.

Las más populares (que yo conozca) son:

CLAPACK
http://www.netlib.org/clapack

ATLAS
http://math-atlas.sourceforge.net/

Intel MKL
http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm

Pero suelen tener problemas con ciertos compiladores C++, especialmetne
de cierto venderdor de vistas y ventanas :)

Por otro lado, existe una "Sparse Linear Solver" llamada TAUCS que
utiliza BLAS y LAPACK

TAUCS
http://www.tau.ac.il/~stoledo/taucs/


TAUCS es usado en CGAL (www.cgal.org), que es C++, así que alguien en
CGAL se tomó el trabajo de empaquetar una selección de librerías TAUCS,
BLAS y LAPACK que andan con VC++.


Entonces.. en la pagina de download de CGAL hay un zip con TAUCS, que de
hecho tiene una selección de implementaciones BLAS y LAPACK.


HTH

Fernando

Alfredo

unread,
Jan 18, 2009, 4:05:21 AM1/18/09
to CyC++ Buenos Aires
Gracias gente! Netlib lo habia visto, aparte de estar en fortran no vi
que tuviera nada sobre "finite fields"
TAUCS se ve bueno, aparte no lo mencione pero justamente necesito
laburar con matrices dispersas, porque es lo que usa el algoritmo LDPC
que estoy haciendo.

Siguiendo sus links encontre algo muy cercano a lo que necesito, BLAS
para campos finitos: FFLAS ( http://ljk.imag.fr/membres/Jean-Guillaume.Dumas/FFLAS/
)
Lo unico es que no esta optimizado especificamente para GF(2) que es
lo que ando buscand yo.

Igual, por lo menos ya encontre los keywords de google que necesito,
que son "Sparse Linear Algebra over GF(2)"... asi que ya por lo menos
se lo que estoy buscando!

Saludos y gracias, algo voy a hacer con esto y lo posteare en algun
futuro lejano por si a alguien le interesa.

Alfredo


On Jan 16, 7:10 pm, Fernando Cacciola <fernando.cacci...@gmail.com>
wrote:
Reply all
Reply to author
Forward
0 new messages