-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e94b013
commit 29ee245
Showing
1 changed file
with
17 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
LSMR: Sparse Equations and Least Squares | ||
LSMR: Sparse Equations and Least Squares. | ||
|
||
This is a slightly modernized version of the original FSMR (f90 version) by David Fong & Michael Saunders, Systems Optimization Laboratory (SOL), Stanford University, Stanford, CA 94305-4026, USA. | ||
|
||
### Status | ||
|
||
|
@@ -8,70 +10,30 @@ LSMR: Sparse Equations and Least Squares | |
[![codecov](https://codecov.io/gh/jacobwilliams/LSMR/branch/master/graph/badge.svg)](https://codecov.io/gh/jacobwilliams/LSMR) | ||
[![last-commit](https://img.shields.io/github/last-commit/jacobwilliams/LSMR)](https://github.com/jacobwilliams/LSMR/commits/master) | ||
|
||
### Readme | ||
|
||
README for lsmrf90 | ||
|
||
The software for LSMR (f90 version) is provided by SOL, Stanford University | ||
under the terms of the OSI Common Public License (CPL) | ||
http://www.opensource.org/licenses/cpl1.0.php | ||
or the BSD License | ||
http://www.opensource.org/licenses/bsd-license.php | ||
|
||
17 Jul 2010: f90 version of LSMR derived from f90 verion of LSQR | ||
and Matlab version lsmr.m. | ||
Separate modules are used for LSMR, example test problems, | ||
and Check routines for A and x. | ||
### Compiling | ||
|
||
LSMR lives in lsmrModule.f90. | ||
Aprod1, Aprod2 (matrix-vector product routines) are in | ||
lsmrTestModule.f90. This module illustrates how | ||
problem-specific data can be created for Aprod1, Aprod2 | ||
even though LSMR calls them with a simple parameter list. | ||
A [Fortran Package Manager](https://github.com/fortran-lang/fpm) manifest file is included, so that the library and test cases can be compiled with FPM. For example: | ||
|
||
17 Jul 2010: 3 of the 18 test problems request local reorthogonalization | ||
(localSize = 10). These 3 tests currently fail. | ||
07 Sep 2010: Local reorthogonalization now works (localSize > 0). | ||
26 Oct 2012: lsmrTestProgram outputs helpful info to the screen. | ||
``` | ||
fpm build --profile release | ||
fpm test --profile release | ||
``` | ||
|
||
Maintained by | ||
David Fong <[email protected]> | ||
Michael Saunders <[email protected]> | ||
Systems Optimization Laboratory (SOL) | ||
Stanford University | ||
Stanford, CA 94305-4026, USA | ||
----------------------------------------------------------------------------- | ||
To use `lsmr` within your fpm project, add the following to your `fpm.toml` file: | ||
```toml | ||
[dependencies] | ||
LSMR = { git="https://github.com/jacobwilliams/LSMR.git" } | ||
``` | ||
|
||
LSMR (f90 version) involves the following files: | ||
### License | ||
|
||
lsmrblas.f90 (not needed if Level 1 BLAS are available) | ||
lsmrblasInterface.f90 | ||
lsmrCheckModule.f90 | ||
lsmrDataModule.f90 | ||
lsmrModule.f90 | ||
lsmrTestModule.f90 | ||
lsmrTestProgram.f90 | ||
LSMR.txt (example output file from an Intel Xeon system | ||
compiled with gfortran -O on Linux Debian Elive) | ||
Makefile | ||
README | ||
|
||
To compile the code and run the test program on Linux or Unix, | ||
proceed as follows: | ||
|
||
make (creates executable TestProgram) | ||
./TestProgram | ||
grep appears LSMR.txt | ||
|
||
"LSMR appears to be successful" should occur 20 times. | ||
"LSMR appears to have failed" might occur for the most | ||
ill-conditioned problem, but this is not cause for alarm | ||
if ||A'r|| is very small (~= 1e-12). | ||
The original version of LSMR (f90 version) was provided by SOL, Stanford University under the terms of the [OSI Common Public License (CPL)](http://www.opensource.org/licenses/cpl1.0.php) or the [BSD License](http://www.opensource.org/licenses/bsd-license.php). | ||
|
||
### Documentation | ||
|
||
The latest API documentation can be found [here](https://jacobwilliams.github.io/LSMR/). This was generated from the source code using [FORD](https://github.com/Fortran-FOSS-Programmers/ford). | ||
|
||
### See also | ||
|
||
* [LSMR: Sparse Equations and Least Squares](https://web.stanford.edu/group/SOL/software/lsmr/) -- LSMR original code. | ||
* [Sparse Parallel Robust Algorithms Library](https://github.com/ralna/spral) -- another version |