cmrh : v. Numer. Algorithms, 63 (2013), 127-142

Philippe Marion edb2600fdc Initial commit 11 jaren geleden
Fortran edb2600fdc Initial commit 11 jaren geleden
Matlab edb2600fdc Initial commit 11 jaren geleden
Readme.txt edb2600fdc Initial commit 11 jaren geleden
git.readme.txt edb2600fdc Initial commit 11 jaren geleden

Readme.txt

***************************************************************************
* All the software contained in this library is protected by copyright. *
* Permission to use, copy, modify, and distribute this software for any *
* purpose without fee is hereby granted, provided that this entire notice *
* is included in all copies of any software which is or includes a copy *
* or modification of this software and in all copies of the supporting *
* documentation for such software. *
***************************************************************************
* THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED *
* WARRANTY. IN NO EVENT, NEITHER THE AUTHORS, NOR THE PUBLISHER, NOR ANY *
* MEMBER OF THE EDITORIAL BOARD OF THE JOURNAL "NUMERICAL ALGORITHMS", *
* NOR ITS EDITOR-IN-CHIEF, BE LIABLE FOR ANY ERROR IN THE SOFTWARE, ANY *
* MISUSE OF IT OR ANY DAMAGE ARISING OUT OF ITS USE. THE ENTIRE RISK OF *
* USING THE SOFTWARE LIES WITH THE PARTY DOING SO. *
***************************************************************************
* ANY USE OF THE SOFTWARE CONSTITUTES ACCEPTANCE OF THE TERMS OF THE *
* ABOVE STATEMENT. *
***************************************************************************

AUTHORS:
S. Duminil, Ph. Marion, H. Sadok
University of Littoral Calais, France
E-mail: duminil@lmpa.univ-littoral.fr, sadok@lmpa.univ-littoral.fr

Mohammed Heyouni
University Mohammed Premier Oujda, Maroc
E-mail: mohammed.heyouni@gmail.com

REFERENCE:

- CMRH: A new method for solving non symmetric linear systems based on the Hessenberg reduction algorithms, Numer. Algorithms, 20, (1999), pp 303-321
- A new implementation of the CMRH method for solving dense linear systems,
J. Comput. Appl. Math., 213 (2008), pp 387-399
- A parallel implementation of the CMRH method for dense linear systems,
Numer. Algorithms, 63 (2013), 127-142

SOFWARE REVISION DATE:
v1.0, January 2013

SOFTWARE LANGUAGE:
Fortran 90 and MATLAB 8.0 (R2012b)

=============================================================================
SOFTWARE
=============================================================================

This package provides a set of Fortran and Matlab functions to solve linear systems using CMRH method.

=============================================================================
PACKAGE
=============================================================================

The main directory contains the following files

* README.txt : This file

* Fortran 90 subroutines :

-makefile : to install and config all fortran programs
-inputfile.dat : In this file, we choose the size of system, the choice of matrix, the choice of solution and the print version
-initialisation.f90 : This file creates inputfile.dat
-CMRH.f90 : CMRH program
-PCMRH.f90 : Parallel CMRH program
-helsing.f90 : Matrix test stored in matrixfile.dat
-rbf.f90 : Matrix test stored in matrixfile.dat
-rand0.f90 : Create a rand vector stored in rand0.dat
-vecrand.f90 : Create two rand vectors stored in vecrand.dat
-randvectors.f90 : Contains some subroutines

* Matlab programs :
-main.m : main program
-CMRH.m : CMRH function
-matrice.m : To create some matrix example
-solution.m : To create some solution vector example
-mmread.m : from matrix market. To store matrix market file in A
-helsing.m : Matrix test
-gemat11.mtx : A matrix market example


=============================================================================
HOW TO INSTALL
=============================================================================
When the archive file containing the package is uncompressed, it creates a directory named CMRHprograms.
The directory fortran contains the fortran codes.
The directory matlab contains the matlab codes.

* Fortran 90 programs :
- enter to fortran directory
- Open makefile
- Config fortran, mpi, blas and lapack compilers

* Matlab programs :
- enter to matlab directory
- Run main.m

=============================================================================
HOW TO COMPILE
=============================================================================
- make all (to config all programs) or make allseq (to config only sequential programs)
- ./initialisation (to config inputfile.dat)
- ./CMRH (to run CMRH program)
- mprun -n (nb of proc) ./PCMRH (to run PCMRH program)


=============================================================================
NUMERICAL TESTS
=============================================================================
FORTRAN PROGRAMS :
- Run ./initialisation to config the matrix :
-helsing : Matrix arising from Helsing paper (choose 3)
-rbf : Matrix arising from radial basis functions (choose 4)
-Own matrix : save it in matrixfile.dat (choose 5)
- Run ./CMRH or mprun -n (nb of proc) ./PCMRH

MATLAB PROGRAMS :
- Run main.m
- Choose the matrix example.
- For matrix market test, choose 6 and enter the file name .mtx


=============================================================================
DELETE FORTRAN FILES
=============================================================================
- make clean