Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New repository for release on Github.
- Loading branch information
Thomas M. Hermann
committed
Mar 28, 2011
0 parents
commit 0c4c7c9
Showing
67 changed files
with
39,738 additions
and
0 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 | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,145 @@ | |||
# Commands | |||
TANGLE = /usr/local/bin/notangle | |||
WEAVE = /usr/local/bin/noweave -delay | |||
CPIF = /usr/local/bin/cpif | |||
|
|||
# Noweb source documents | |||
LINEAR-ALGEBRA-SRC = noweb/linear-algebra.noweb | |||
LINEAR-ALGEBRA-TEST-SRC = noweb/linear-algebra-test.noweb | |||
|
|||
# Common Lisp files | |||
LINEAR-ALGEBRA += lisp/linear-algebra.asd | |||
LINEAR-ALGEBRA += lisp/defpackage.lisp | |||
LINEAR-ALGEBRA += lisp/auxiliary.lisp | |||
LINEAR-ALGEBRA += lisp/fundamental-ops.lisp | |||
LINEAR-ALGEBRA += lisp/vector.lisp | |||
LINEAR-ALGEBRA += lisp/data-vector.lisp | |||
LINEAR-ALGEBRA += lisp/matrix.lisp | |||
LINEAR-ALGEBRA += lisp/identity-matrix.lisp | |||
LINEAR-ALGEBRA += lisp/permutation-matrix.lisp | |||
LINEAR-ALGEBRA += lisp/dense-matrix.lisp | |||
LINEAR-ALGEBRA += lisp/square-matrix.lisp | |||
LINEAR-ALGEBRA += lisp/hermitian-matrix.lisp | |||
LINEAR-ALGEBRA += lisp/symmetric-matrix.lisp | |||
LINEAR-ALGEBRA += lisp/triangular-matrix.lisp | |||
|
|||
# Unit test files | |||
LINEAR-ALGEBRA-TEST += test/linear-algebra-test.asd | |||
LINEAR-ALGEBRA-TEST += test/defpackage.lisp | |||
LINEAR-ALGEBRA-TEST += test/vector.lisp | |||
LINEAR-ALGEBRA-TEST += test/data-vector.lisp | |||
LINEAR-ALGEBRA-TEST += test/matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/identity-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/permutation-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/dense-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/square-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/hermitian-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/symmetric-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/triangular-matrix.lisp | |||
LINEAR-ALGEBRA-TEST += test/auxiliary.lisp | |||
|
|||
# Documentation files | |||
DOCUMENTATION-FILES += documentation/linear-algebra.tex | |||
DOCUMENTATION-FILES += documentation/linear-algebra-test.tex | |||
|
|||
# Rules | |||
default: linear-algebra | |||
|
|||
all: linear-algebra linear-algebra-test documentation | |||
|
|||
documentation: $(DOCUMENTATION-FILES) | |||
|
|||
linear-algebra: $(LINEAR-ALGEBRA) | |||
|
|||
linear-algebra-test: $(LINEAR-ALGEBRA-TEST) | |||
|
|||
# Documentation rules | |||
|
|||
# Linear algebra rules | |||
documentation/linear-algebra.tex: $(LINEAR-ALGEBRA-SRC) | |||
$(WEAVE) $(LINEAR-ALGEBRA-SRC) | $(CPIF) $@ | |||
|
|||
lisp/linear-algebra.asd: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rlinear-algebra.asd $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/defpackage.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rdefpackage.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/auxiliary.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rauxiliary.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/fundamental-ops.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rfundamental-ops.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/vector.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rvector.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/data-vector.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rdata-vector.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rmatrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/identity-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Ridentity-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/permutation-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rpermutation-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/dense-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rdense-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/square-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rsquare-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/hermitian-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rhermitian-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/symmetric-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rsymmetric-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
lisp/triangular-matrix.lisp: $(LINEAR-ALGEBRA-SRC) | |||
$(TANGLE) -Rtriangular-matrix.lisp $(LINEAR-ALGEBRA-SRC) > $@ | |||
|
|||
# Unit test rules | |||
documentation/linear-algebra-test.tex: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(WEAVE) $(LINEAR-ALGEBRA-TEST-SRC) | $(CPIF) $@ | |||
|
|||
test/linear-algebra-test.asd: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rlinear-algebra-test.asd $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/defpackage.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rdefpackage.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/vector.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rvector.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/data-vector.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rdata-vector.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rmatrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/identity-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Ridentity-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/permutation-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rpermutation-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/dense-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rdense-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/square-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rsquare-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/hermitian-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rhermitian-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/symmetric-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rsymmetric-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/triangular-matrix.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rtriangular-matrix.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ | |||
|
|||
test/auxiliary.lisp: $(LINEAR-ALGEBRA-TEST-SRC) | |||
$(TANGLE) -Rauxiliary.lisp $(LINEAR-ALGEBRA-TEST-SRC) > $@ |
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 | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,6 @@ | |||
linear-algebra | |||
|
|||
linear-algebra is a Common Lisp library of numeric linear algebra routines. | |||
It approximates the functionality present in the Basic Linear Algebra | |||
Subroutines (BLAS) Fortran library. The objective of this project is to | |||
generate linear algebra routines in native ANSI Common Lisp. |
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 | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,49 @@ | |||
# | |||
BIBTEX = /usr/bin/bibtex | |||
MAKEINDEX = /usr/bin/makeindex | |||
PDFLATEX = /usr/bin/pdflatex -shell-escape | |||
ASPELL = /usr/bin/aspell --mode=tex check | |||
|
|||
default: linear-algebra.pdf | |||
|
|||
all: linear-algebra.pdf linear-algebra-test.pdf | |||
|
|||
# linear-algebra | |||
linear-algebra.pdf: linear-algebra.tex bibliography.bib | |||
$(PDFLATEX) linear-algebra && \ | |||
$(BIBTEX) linear-algebra && \ | |||
$(MAKEINDEX) -s nomencl.ist -o linear-algebra.gls linear-algebra.glo && \ | |||
$(PDFLATEX) linear-algebra && \ | |||
$(PDFLATEX) linear-algebra && \ | |||
$(PDFLATEX) linear-algebra | |||
|
|||
# linear-algebra-test | |||
linear-algebra-test.pdf: linear-algebra-test.tex bibliography.bib | |||
$(PDFLATEX) linear-algebra-test && \ | |||
$(BIBTEX) linear-algebra-test && \ | |||
$(MAKEINDEX) -s nomencl.ist -o linear-algebra-test.gls linear-algebra-test.glo && \ | |||
$(PDFLATEX) linear-algebra-test && \ | |||
$(PDFLATEX) linear-algebra-test && \ | |||
$(PDFLATEX) linear-algebra-test | |||
|
|||
# | |||
.PHONY: clean clobber spell-check spell-check-linear-algebra-test | |||
|
|||
spell-check: | |||
$(ASPELL) linear-algebra.tex | |||
|
|||
spell-check-linear-algebra-test: | |||
$(ASPELL) linear-algebra-test.tex | |||
|
|||
clean: | |||
-rm *.aux | |||
-rm *.glo | |||
-rm *.gls | |||
-rm *.ilg | |||
-rm *.log | |||
-rm *.bbl | |||
-rm *.blg | |||
|
|||
clobber: | |||
-rm linear-algebra.pdf | |||
-rm linear-algebra-test.pdf |
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 | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,175 @@ | |||
|
|||
@Article{blast-update, | |||
author = {L. S. Blackford and J. Demmel and J. Dongarra and | |||
I. Duff and S. Hammarling and G. Henry and M. Heroux | |||
and L. Kaufman and A. Lumsdaine and A. Petitet and | |||
R. Pozo and K. Remington and R. C. Whaley}, | |||
title = {An updated set of basic linear algebra subprograms | |||
(BLAS)}, | |||
journal = {ACM Trans. Math. Softw.}, | |||
volume = 28, | |||
number = 2, | |||
year = 2002, | |||
issn = {0098-3500}, | |||
pages = {135--151}, | |||
doi = {http://doi.acm.org/10.1145/567806.567807}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@Article{blast-report, | |||
author = {S. Blackford and G. Corliss and J. Demmel and | |||
J. Dongarra and I. Duff and G. Hammarling and | |||
G. Henry and M. Heroux and C. Hu and W. Kahan and | |||
L. Kaufmann and B. Kearfott and F. Krogh and X. Li | |||
and X. Maany and A. Petitet and R. Pozo and | |||
K. Remington and W. Walster and C. Whaley and | |||
V. Wolff and J. Gudenberg and A. Lumsdaine}, | |||
title = {Basic Linear Algebra Subprograms Technical (BLAST) | |||
Forum Standard}, | |||
journal = {International Journal of High Performance | |||
Applications and Supercomputing}, | |||
year = 2002, | |||
volume = 16, | |||
number = 1 | |||
} | |||
|
|||
@Book{linear-algebra, | |||
author = {James W. Demmel}, | |||
title = {Applied Numerical Linear Algebra}, | |||
publisher = {Society for Industrial and Applied Mathematics}, | |||
year = 1997 | |||
} | |||
|
|||
@Book{NumAlgoC, | |||
author = {Gisela Engeln-M\"{u}llges and Frank Uhlig}, | |||
title = {Numerical Algorithms with C}, | |||
publisher = {Springer}, | |||
year = 1996 | |||
} | |||
|
|||
@Book{lapack, | |||
author = {E. Anderson and Z. Bai and C. Bischof and | |||
S. Blackford and J. Demmel and J. Dongarra and J. Du | |||
Croz and A. Greenbaum and S. Hammarling and | |||
A. McKenney and D. Sorensen}, | |||
title = {LAPACK Users' Guide}, | |||
publisher = {Society for Industrial and Applied Mathematics}, | |||
year = 1999, | |||
series = {Software, environments, tools}, | |||
edition = {3rd} | |||
} | |||
|
|||
@Article{blas:1, | |||
author = {C. L. Lawson and R. J. Hanson and D. R. Kincaid and | |||
F. T. Krogh}, | |||
title = {Basic Linear Algebra Subprograms for Fortran Usage}, | |||
journal = {ACM Trans. Math. Softw.}, | |||
volume = 5, | |||
number = 3, | |||
year = 1979, | |||
issn = {0098-3500}, | |||
pages = {308--323}, | |||
doi = {http://doi.acm.org/10.1145/355841.355847}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@Article{blas:2, | |||
author = {Jack J. Dongarra and Jeremy Du Croz and Sven | |||
Hammarling and Richard J. Hanson}, | |||
title = {An extended set of FORTRAN basic linear algebra | |||
subprograms}, | |||
journal = {ACM Trans. Math. Softw.}, | |||
volume = 14, | |||
number = 1, | |||
year = 1988, | |||
issn = {0098-3500}, | |||
pages = {1--17}, | |||
doi = {http://doi.acm.org/10.1145/42288.42291}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@Article{blas:3, | |||
author = {J. J. Dongarra and Jeremy Du Croz and Sven | |||
Hammarling and I. S. Duff}, | |||
title = {A set of level 3 basic linear algebra subprograms}, | |||
journal = {ACM Trans. Math. Softw.}, | |||
volume = 16, | |||
number = 1, | |||
year = 1990, | |||
issn = {0098-3500}, | |||
pages = {1--17}, | |||
doi = {http://doi.acm.org/10.1145/77626.79170}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@InProceedings{cl-critique, | |||
author = {Rodney A. Brooks and Richard P. Gabriel}, | |||
title = {A critique of common LISP}, | |||
booktitle = {LFP '84: Proceedings of the 1984 ACM Symposium on | |||
LISP and functional programming}, | |||
year = 1984, | |||
isbn = {0-89791-142-3}, | |||
pages = {1--8}, | |||
location = {Austin, Texas, United States}, | |||
doi = {http://doi.acm.org/10.1145/800055.802016}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@Article{cl-float, | |||
author = {Richard J. Fateman and Kevin A. Broughan and Diane | |||
K. Willcock and Duane Rettig}, | |||
title = {Fast floating-point processing in Common Lisp}, | |||
journal = {ACM Trans. Math. Softw.}, | |||
volume = 21, | |||
number = 1, | |||
year = 1995, | |||
issn = {0098-3500}, | |||
pages = {26--62}, | |||
doi = {http://doi.acm.org/10.1145/200979.200989}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@InProceedings{lisp-evolution, | |||
author = {Guy L. Steele and Richard P. Gabriel}, | |||
title = {The evolution of Lisp}, | |||
booktitle = {History of programming languages---II}, | |||
year = 1996, | |||
isbn = {0-201-89502-1}, | |||
pages = {233--330}, | |||
doi = {http://doi.acm.org/10.1145/234286.1057818}, | |||
publisher = {ACM}, | |||
address = {New York, NY, USA}, | |||
} | |||
|
|||
@Book{CLTL1, | |||
author = {Guy Steele}, | |||
title = {Common Lisp: The Language}, | |||
year = 1984, | |||
isbn = {093237641-X}, | |||
publisher = {Digital Press}, | |||
address = {Newton, MA, USA}, | |||
} | |||
|
|||
@TechReport{CMUCL, | |||
author = {Robert A. MacLachlan}, | |||
title = {CMU Common Lisp User''s Manual}, | |||
year = 1992, | |||
institution = {Carnegie Mellon University}, | |||
address = {Pittsburgh, PA, USA}, | |||
} | |||
|
|||
@TechReport{lawn148, | |||
author = {D. Bindel and J. Demmel and W. Kahan and O. Marques}, | |||
title = {On computing Givens rotations reliably and efficiently}, | |||
institution = {University of Tennessee}, | |||
year = 2001, | |||
type = {LAPACK Working Note 148}, | |||
number = {UT-CS-00-449}, | |||
month = {January 31} | |||
} |
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 | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,12 @@ | |||
[FormatInfo] | |||
Type=TeXnicCenterProjectInformation | |||
Version=4 | |||
|
|||
[ProjectInfo] | |||
MainFile=linear-algebra-test.tex | |||
UseBibTeX=1 | |||
UseMakeIndex=1 | |||
ActiveProfile=LaTeX => PDF | |||
ProjectLanguage=en | |||
ProjectDialect=US | |||
|
Oops, something went wrong.