public inbox for gsl-discuss@sourceware.org
 help / color / mirror / Atom feed
* GSL
@ 2000-11-27 10:37 Jens Lenge
  2000-11-27 12:20 ` GSL Gerard Jungman
  2000-11-27 12:22 ` GSL Brian Gough
  0 siblings, 2 replies; 14+ messages in thread
From: Jens Lenge @ 2000-11-27 10:37 UTC (permalink / raw)
  To: gsl-discuss

Hi Redhat team,

I heard about the GSL project and have some questions about it.
I hope you can help me.

GSL is often said to become a complete rewrite of LAPACK in native C, thus
offering LAPACK functionality without depending on F2C or any underlying
FORTRAN libs (like CLAPACK does).

==> Is it the goal of GSL to build a "native C" equivalent of LAPACK
functionality?
==> Will it depend on (or include) an underlying BLAS library?
==> If so, is that BLAS also native C?
==> Who is actually doing GSL? Is Redhat involved?
==> When used as a basis for a C++ wrapper lib, will the GSL data structures
be compatible with STL containers or the C++ complex<double> class?

Regards, Jens

--
Dipl.-Ing. Jens Lenge
Universitaet Dortmund, ET-HFT
lenge@hft.e-technik.uni-dortmund.de

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: gsl
@ 2001-12-19 13:20 Edwin Robert Tisdale
  0 siblings, 0 replies; 14+ messages in thread
From: Edwin Robert Tisdale @ 2001-12-19 13:20 UTC (permalink / raw)
  To: gsl-discuss

Brian Gough wrote:

> Hiroyuki Kawakatsu writes:

> >  (1) the major problem with the current implementation is that
> > matrices are stored in row-major order.
> > Since I have been writing codes that link with dll's built from
fortran codes,
> > I have assumed that all matrices will be stored in column-major
order.
> > For me to really use gsl, I really need an option
> > to store matrices in column-major order.
> > For example, the Template Numerical Toolkit (TNT)
> >
> >     http://math.nist.gov/tnt/
> >
> > supports a fortran_matrix type
> > in addition to the row-major order c style matrix type
> > and Intel's math kernel library has an argument (at least in cblas)
> > to specify the major order
> > (isn't this the cblas standard's recommendation?)
> >
> > Sorry, it's a C-library
> > so we use arrays in the C convention for the gsl_matrix object.
> >
> > To support both conventions would either reduce the efficiency
> > or require separate handling of the two cases.
> > TNT uses C++ templates to handle both cases separately
> > but this is not feasible in C.
> >
> > The CBLAS standard does specify an argument for both conventions
> > and the GSL CBLAS routines support that.
> >
> > (2) in the documentation, it is mentioned that
> > you can link with atlas for cblas.
> > Is it possible to link with intel's math kernel library's cblas?
> > If so, it would be very nice if you could document how to do so.
> >
> > The section "Compiling and Linking" in Chapter 2 of the manual
> > describes how to link with an alternate CBLAS library.
> > Assuming that the library follows the CBLAS standard,
> > no changes are required to the code
> > just to specify the library on the link options.
> >
> > Intel's math library is not free software,
> > so we don't comment on it specifically.
> > We recommend ATLAS, which is free software.

Hi Hiroyuki,

Neither your computer nor the C computer programming language
know anything about rows or columns.
Rows and columns exist only in the mind of the computer programmer.
The only reason that you can pass two dimensional arrays
from C programs to Fortran subprograms or
from Fortran programs to C functions is that
most Fortran and C compilers store two dimensional arrays
in exactly the same way -- namely as arrays of one dimensional arrays.
The only difference between multidimensional arrays in C and
multidimensional arrays in Fortran (besides the default base index)
is that Fortran subscripts appear in order from left to right and
C subscripts appear in reverse order from right to left.
Unfortunately, both Fortran and C programmers associate
the leftmost subscript of a two dimensional array
with the row index of a matrix and associate
the rightmost subscript of a two dimensional array
with the column index of a matrix so that
the same matrix object implemented as a two dimensional array
with one language appears to be its transpose in the other language.

What this means is that you never need to transpose a matrix
to call a Fortran subprogram from C (or to call a C function from
Fortran.)
All you need to do is to call the correct function with the correct
arguments.
For example, if you wish to compute

    alpha*A*B + beta*C --> C

where C in an m by n matrix,
you would first transpose the expression

    alpha*B^T*A^T + beta*C^T --> C^T

then transpose each matrix in the expression

    alpha*B*A + beta*C --> C.

In other words, you would still call xGEMM
but swap A and B ( and m and n) in the argument list.

^ permalink raw reply	[flat|nested] 14+ messages in thread
[parent not found: <20011006.061611.01366834.hkawakat@sk.tsukuba.ac.jp>]
* GSL
@ 2002-07-10 12:03 John Aquilina
  2002-07-11 14:39 ` GSL Brian Gough
  0 siblings, 1 reply; 14+ messages in thread
From: John Aquilina @ 2002-07-10 12:03 UTC (permalink / raw)
  To: gsl-discuss

i would like to install the GSL library in order to be able to compute
hypergeometric functions using the special fuinctions package.

What should i do to install? Do i have to download and extract all the
library?


thanks
John

 ---------------------------------
 John Aquilina
 Dept. of Mathematical Sciences
 University of Bath
 Claverton Down
 Bath BA2 7AY

 Office: 1W 3.10G
 Tel:    (+44) (0)1225 384738
 Mobile: (+44) (0)7761 380238
 E-Mail: J.Aquilina@bath.ac.uk
 ---------------------------------

^ permalink raw reply	[flat|nested] 14+ messages in thread
[parent not found: <000a01c1eabf$c4050140$196ca8c0@civil.auc.dk>]
[parent not found: <3ED52B49.DCC4B4D6@ucalgary.ca>]
[parent not found: <B67877F9-14C4-11D8-9744-000A9575DDB2@iastate.edu>]
[parent not found: <5.1.1.6.0.20041005225016.0309a950@mail.interfree.it>]

end of thread, other threads:[~2004-10-11 15:22 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-27 10:37 GSL Jens Lenge
2000-11-27 12:20 ` GSL Gerard Jungman
2000-11-27 12:22 ` GSL Brian Gough
2001-12-19 13:20 gsl Edwin Robert Tisdale
     [not found] <20011006.061611.01366834.hkawakat@sk.tsukuba.ac.jp>
2001-12-19 13:20 ` gsl Brian Gough
2001-12-19 13:20 ` gsl Brian Gough
2002-07-10 12:03 GSL John Aquilina
2002-07-11 14:39 ` GSL Brian Gough
     [not found] <000a01c1eabf$c4050140$196ca8c0@civil.auc.dk>
2002-12-31  9:55 ` gsl Brian Gough
2002-04-23 13:59   ` gsl Brian Gough
     [not found] <3ED52B49.DCC4B4D6@ucalgary.ca>
2003-05-29 10:36 ` GSL Brian Gough
     [not found] <B67877F9-14C4-11D8-9744-000A9575DDB2@iastate.edu>
2003-11-13 11:39 ` GSL Andrea Riciputi
2003-11-13 13:26   ` GSL Andrea Riciputi
     [not found] <5.1.1.6.0.20041005225016.0309a950@mail.interfree.it>
2004-10-11 15:22 ` GSL Brian Gough

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).