nilason 2808fe4f96 libgmath: fix incorrect memset of double array (#2005) преди 3 години
..
test 606b5ed29b fix spelling errors (https://trac.osgeo.org/grass/ticket/3447, Debian lintian QA tool), thanks to Bas Couwenberg преди 7 години
ATLAS_wrapper_blas_level_1.c e02aa2e241 Typo fixes преди 14 години
DEPEND db49180dd7 welcome to GRASS 7.0.svn преди 17 години
Makefile b013575a2b add build support for OpenMP (https://trac.osgeo.org/grass/ticket/657) преди 13 години
README db49180dd7 welcome to GRASS 7.0.svn преди 17 години
TODO d33152f1d5 Numerous typos fixed (identified with tools/fix_typos.sh) преди 8 години
blas_level_1.c 6146f0566d Use correct absolute value function преди 4 години
blas_level_2.c 6859a2bc8e gmath lib: fix typos преди 13 години
blas_level_3.c e7a4e6b933 Patch to fix various spelling errors (see https://trac.osgeo.org/grass/ticket/3088) преди 9 години
brent.c e740471b68 update FSF mailing address (https://trac.osgeo.org/grass/ticket/1422) преди 14 години
ccmath_grass_wrapper.c 28a3d85493 Head section correction. New matrix conversion functions added. преди 15 години
dalloc.c 8265a991b4 size_t: update gmath lib преди 13 години
del2g.c 49b8066c8f Added a new library to grass called ccmath (LGPL license) to replace the преди 16 години
eigen_tools.c 49b8066c8f Added a new library to grass called ccmath (LGPL license) to replace the преди 16 години
fft.c e740471b68 update FSF mailing address (https://trac.osgeo.org/grass/ticket/1422) преди 14 години
findzc.c e740471b68 update FSF mailing address (https://trac.osgeo.org/grass/ticket/1422) преди 14 години
gauss.c 498f194bcc Replace rand/random/lrand48/etc with lib/gis random number functions преди 11 години
getg.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ преди 17 години
gmathlib.dox e6774c02d1 New band matrix functions. Implemented new conjugate gradent band matrix преди 15 години
ialloc.c 8265a991b4 size_t: update gmath lib преди 13 години
la.c 2808fe4f96 libgmath: fix incorrect memset of double array (#2005) преди 3 години
lu.c d33152f1d5 Numerous typos fixed (identified with tools/fix_typos.sh) преди 8 години
max_pow2.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ преди 17 години
mult.c 49b8066c8f Added a new library to grass called ccmath (LGPL license) to replace the преди 16 години
rand1.c 498f194bcc Replace rand/random/lrand48/etc with lib/gis random number functions преди 11 години
solvers_classic_iter.c 28a3d85493 Head section correction. New matrix conversion functions added. преди 15 години
solvers_direct.c 606b5ed29b fix spelling errors (https://trac.osgeo.org/grass/ticket/3447, Debian lintian QA tool), thanks to Bas Couwenberg преди 7 години
solvers_direct_cholesky_band.c 7869e1ed87 gmath lib: adjust G_percent() преди 13 години
solvers_krylov.c d33152f1d5 Numerous typos fixed (identified with tools/fix_typos.sh) преди 8 години
sparse_matrix.c e6774c02d1 New band matrix functions. Implemented new conjugate gradent band matrix преди 15 години
symmetric_band_matrix.c c841fe5874 Fixed some OpenMP related bugs. Removed obsolete comments from Makefile. преди 15 години

README

Date: Wed, 27 Sep 2000 15:41:24 +0000
From: David D Gray

I have checked in the gmath stuff to CVS. This directory might later
contain other kinds of generic routine (fft is one that comes to mind in
view of the investigations into NR). But for now there is only the
BLAS/LAPACK wrappers and supporting structure in la.c.

I thought to follow the libc in separating maths stuff to a separate
directory, even though they are G_*() functions.

I believe it is fairly intuitive to use - developers should use
G_matrix_init() to create a matrix. A vector can be built with setting
cols (or rows as appropriate) to 1. A G_vector_init() might be useful,
but it would have to distinguish between a row and column vector, (is it
needed?). Then use G_[set,get]_matrix_element() to set or retrieve
elements. No-one should need to ever worry about Fortran peculiarities
(like declaring doublereal variables, or calling a foo_() ).

Currently there are: add matrices A+B (doesn't use BLAS), multiply A.B,
invert A^-1, solve simple linear system A.X=B for X given B. Others are
easy to add as required.

David
-----------------------------------

Getting BLAS/LAPACK (one package):

http://netlib.bell-labs.com/netlib/master/readme.html
http://www.netlib.org

http://www.netlib.org/lapack/

Compiling of LAPACK (be sure to have "." in PATH):

Linux:
cd LAPACK
cp INSTALL/make.inc.LINUX make.inc
#now edit Makefile and
#comment line 11 and uncomment line 12 (to include "blaslib" compilation)
#compile with
make

Solaris:
cd LAPACK
cp INSTALL/make.inc.SUN4SOL2 make.inc
#now edit Makefile and
#comment line 11 and uncomment line 12 (to include "blaslib" compilation)
#compile with
make

etc.

See INSTALL/ for further platforms.

--------------------------------------------------------------------
Usage:

Sample Makefile:

MODULE_TOPDIR = /path/to/grass

PGM = test

LIBES = $(GMATHLIB) $(GISLIB)
DEPENDENCIES = $(GMATHLIB) $(GISLIB)

include $(MODULE_TOPDIR)/include/Make/Module.make


Sample module source:

#include
#include
#include

int main (int argc, char *argv[])
{
mat_struct *matrix;

matrix = G_matrix_init (3, 3, 1);
G_matrix_free (matrix);

return 0;
}