| 1 | HOW TO USE IT : |
|---|
| 2 | |
|---|
| 3 | This is a source library : no precompilation is required. |
|---|
| 4 | The usual way of using it is to include the file include/fflas_ffpack/fflas.h |
|---|
| 5 | or include/fflas_ffpack/ffpack.h in your code. |
|---|
| 6 | |
|---|
| 7 | The routines are designed to work with a generic finite field implementation, |
|---|
| 8 | compliant with the interface of LinBox (www.linalg.org). We also provide two |
|---|
| 9 | default implementations that make these routines work more efficiently. |
|---|
| 10 | |
|---|
| 11 | * fflas_ffpack/modular-balanced.h : implements any prime finite field of cardinality between larger than 2. |
|---|
| 12 | and smaller than 2^26 (Modular<double>) or 2^12 (Modular<float>). |
|---|
| 13 | The most efficient implementations ; to be used by default. |
|---|
| 14 | |
|---|
| 15 | * fflas_ffpack/modular-positive.h : implements any prime finite field of cardinality between |
|---|
| 16 | 2 and 2^26 (Modular<double>) or 2^12 (Modular<float>). |
|---|
| 17 | |
|---|
| 18 | REQUIREMENTS : |
|---|
| 19 | |
|---|
| 20 | A C BLAS library must be installed in your environment : the file "cblas.h" |
|---|
| 21 | must be in the include environment of the compilation and the associated |
|---|
| 22 | compiled library be provided to the linker. |
|---|
| 23 | |
|---|
| 24 | For example, in the test directory, the test programms are compiled using the |
|---|
| 25 | C BLAS ATLAS; The following parameters are given to the compiler : |
|---|
| 26 | |
|---|
| 27 | -I${ATLASROOT}/include -I${ATLASROOT}/include/${ATLASARCH} |
|---|
| 28 | -L ${ATLASROOT}/lib/${ATLASARCH} -lcblas -latlas |
|---|
| 29 | |
|---|
| 30 | COMPILATION OF THE TESTS : |
|---|
| 31 | |
|---|
| 32 | To compile the tests, complete the variables given in test/Makefile and/or uncomment the adequate option: |
|---|
| 33 | BLASROOT= {the directory where the BLAS library is located} |
|---|
| 34 | ARCH= {the architecture parameter for g++. For example pentium4, athlon, opteron,...} |
|---|
| 35 | |
|---|
| 36 | Then simply run |
|---|
| 37 | |
|---|
| 38 | 'make' |
|---|
| 39 | |
|---|
| 40 | in the test directory. |
|---|
| 41 | |
|---|
| 42 | The compiled tests are the following files |
|---|
| 43 | tests/test-fgemm |
|---|
| 44 | tests/test-fgemv |
|---|
| 45 | tests/test-lqup |
|---|
| 46 | tests/test-charpoly |
|---|
| 47 | tests/test-compressQ |
|---|
| 48 | tests/test-frobenius |
|---|
| 49 | tests/test-fsquare |
|---|
| 50 | tests/test-det |
|---|
| 51 | tests/test-invert |
|---|
| 52 | tests/test-krylov-elim |
|---|
| 53 | tests/test-rank |
|---|
| 54 | |
|---|
| 55 | |
|---|
| 56 | COMPILATION OF THE SANITY/REGRESSION TESTS : |
|---|
| 57 | |
|---|
| 58 | These tests require the GIVARO library and therefore also the GMP library. |
|---|
| 59 | First complete and uncomment the fields GIVARO_ROOT and GMP_ROOT in tests/Makefile. |
|---|
| 60 | Then run |
|---|
| 61 | |
|---|
| 62 | 'make regression'. |
|---|
| 63 | |
|---|
| 64 | The compiled tests are the following files |
|---|
| 65 | |
|---|
| 66 | tests/testeur_fgemm.C |
|---|
| 67 | tests/testeur_lqup.C |
|---|
| 68 | tests/testeur_ftrsm.C |
|---|