\documentstyle[epsf,mathtim,path,twocolumn]{article}
\title{Netlib News: World Wide Web update}
\author{Eric Grosse}{}
\date{16 June 1994}
\begin{document}\maketitle
{\sloppy

\centerline{\epsfysize=1.5in\epsffile{logo.ps}}

Last month's column described how to get to the math software
library \path|netlib| from Mosaic using
\path|ftp://netlib.att.com/home.html|.  This column will
be a short update.  Two more columns coming in the next couple
months will cover the GAMS system and ``dependencies resolution''
from ftp/Mosaic.

Netlib is a collaborative community effort, with a
growing board of editors and replicated sites in the US at
netlib@netlib.org, netlib@research.att.com, and world-wide at
netlib@netlib.no, netlib@unix.hensa.ac.uk, netlib@draci.cs.uow.edu.au,
and netlib@nchc.edu.tw.  
Aside from a few specific directories,
such as organization preprint collections,
these sites mirror one another on more or less a daily basis.
No one site is ``the master;''
\path|netlib.org| owns \path|lapack|,
\path|netlib.att.com| owns \path|toms|,
\path|netlib.no| owns \path|maspar|,
and then there are additional editorial sites,
such as \path|math.utah.edu| that owns \path|bibnet|.
You should feel free to use whichever site is closest in a network sense.

That said, it is still true that most of the development of the
mechanism (as opposed to content) has been done
at Bell Labs in Murray Hill and
at ORNL and the University of Tennessee in Knoxville,
which recently picked up the name \path|netlib.org|.
The Tennessee site is the principal server for \path|xnetlib|, now
in release 3.4, and also supports
anonymous rcp,
anonymous ftp at \path|ftp.netlib.org|,
http (for the World Wide Web) at \path|http://www.netlib.org/|,
and gopher at \path|gopher://gopher.netlib.org/|.

An interesting feature of the \path|www.netlib.org| server is its
MultiDownload ability.  
You must be running a World Wide Web client that supports HTML+ forms. 
Each netlib file is then displayed with a checkbox;  you click on the
files you're interested in and then on a button, ``Download Selected Items.'' 
The server bundles the selected files together into a tar archive
before downloading, a significant improvement on the more distracting and
tedious downloading of one file at a time. If the network is slow,
you can arrange to start the transfer and then go off and work on
something else for a while.  Users of xnetlib will already be familiar
with this batching of requests.

``tar archive'' refers to a way of bundling several
files into one for purposes of transmission or storage.  The format is
precisely described in Section 10 of the POSIX standard, IEEE Std 1003.1.
Unbundle the archive using the \path|tar| or \path|pax| command.
A free implementation of the latter by Mark Colburn
has been posted to \path|comp.sources.unix| on USENET and 
is also available by anonymous ftp from \path|uunet.uu.net|.
Whichever version of the command you use,
learn about the option that limits where files can be written when unbundling
any archive you download from the 'net.  We believe that everything
you get from netlib is safe, but it is a wise habit to scrutinize
incoming archives and source files.

Another common technique for bundling files is a ``shar file'' or ``shell
archive.''  Here you do not need a special unbundling command, you can just
use the Unix shell (or compatible tool on other operating systems.)
The same security injunctions apply.
These shell archives, unlike tar archives, use only ordinary printing
characters and are therefore more useful for email.  You'll find a mix
of shar and tar in netlib right now;  at some point we hope to move to
a system in which the bundling mechanism is chosen at the time of transfer.

Dates on files are copied during the unbundling from tar archives (but not,
typically, from shar archives.)  Not only do all of our netlib sites have
the same file contents, the files also have the same dates, making
it easier for the casual user to check that a local copy is up-to-date.
There are too many ftp sites on the 'net that redistribute public
files like eispack but don't bother to keep them current as bug fixes
appear.  When you ask a network-file-finder like archie for
the library function \path|tqlrat|, how can you decide which copy to use?
Within netlib, we use checksums to be sure all replicated copies are
identical, and we set the file date to
the author's revision date.

A final word on mechanics.  People continue to send us mail asking why
file \path|mumble/foo.f.Z| appears as gibberish on their screen.  File
names ending in \path|.Z| or \path|.gz| are compressed.  Ask your
system administrator to install \path|gzip| (available in
\path|/netlib\/gnu/gzip/| if you can't find it elsewhere).
You should set up your WWW client to uncompress files transparently,
but I understand that this may be easier to achieve on Unix systems
than on DOS/Windows or Macintosh.  As a courtesy during the transition,
we will supply netlib's \path|.html| files in both compressed and
uncompressed form.  Another point to note in this regard is that if
you give Mosaic a URL ending in \path|.Z|{\em<newline>}, our ftp server
will happily strip off the newline and send you the file, but Mosaic
won't recognize the file suffix and will therefore not do its customary
quiet uncompression before display.  This is probably only an issue
if you are cutting and pasting the URL electronically, and anyway should be
fixed in some future release of Mosaic.

Compression may seem like a nuisance, but it really is the responsible
way to use the ``free'' network.  In the current climate, scientists
should take care not to blatantly waste resources paid from
government or university coffers, lest those resources be taken away.
If you have any ideas on ways to improve netlib in this respect, or
any others, please drop me a note.


\section*{Recent additions}

Over the past few years, Knut Moerken and Tom Lyche of the University
of Oslo have developed an
approach to data reduction that starts with a spline curve or surface
with many knots and then removes as many as possible while retaining
a good approximation.  See IMA J. of Num. Anal. 8,185 or CAGD 4,217
for details.  Their Fortran77 package implementing this approach is
now available in \path|/netlib/a/datred.uu|.

Another welcome contribution from Scandinavia is the \path|blas/gemm_based/|
library by Bo Kagstrom, Per Ling and Charlie Van Loan.  In an attempt to
get good performance on a variety of modern computer architectures,
packages like lapack exploit the matrix-matrix BLAS3 primitives,
which your computer vendor is supposed to provide in optimized form.
Tuning all the BLAS3 kernels is a large task;  with this package, all
you have to worry about is DGEMM.  See their paper in Parallel Processing
for Scientific Computing, SIAM Publications, 1993.

\path|c++/lparx--1.0.tar.Z| `` is a domain-specific run-time C++ class
library that supports dynamic irregular data structures organized
into blocks and levels $\ldots$ targeted to particle methods and
multi-level and adaptive finite difference $\ldots$ on distributed
memory MIMD architectures.''
At 1.8 megabytes, this is only available from the ftp server, not email.

\path|bib/evdv| contains the bibliography on
Concurrent Scientific Computing by Eric F. Van de Velde,
Springer-Verlag 1994.

There was a small bug fix to the nonlinear least squares solver
\path|/netlib/opt/dqed.f| for the case of an infeasible start.
New versions of \path|fortran/ftnchek|, \path|svdpack|, path|ode/vodpk|, and
\path|misc/rktec.c| were installed.

Recent additions in the \path|toms| directory are:\\
726: generating orthogonal polynomials and Gauss-type quadrature rules, by Walter Gautschi\\
727: q-th quantile and standard deviation of that estimate, by Sherif Hashem and Bruce Schmeiser\\
728: quadratic bilevel programming problem, by Paul Calamai and Luis Vicente\\
729: extended Levinson algorithms for solving symmetric and general Toeplitz systems, by Per Christian Hansen\\
730: divide and conquer for the unitary eigenproblem, by G. S. Ammar, L. Reichel, and D. C. Sorensen.
Larry Weissman of the University of Washington was kind enough to
type in and send us \path|toms/322|.  In general, the ACM Algorithms
1 through 492 were only printed on paper and few are yet available
online.  If you have typed in and debugged some, please forward us
a copy and we'll archive them for others.

{\em Eric Grosse can be reached at the Computing Science Research Center,
AT\&T Bell Laboratories, Murray Hill NJ 07974, USA or by email at
\path|ehg@research.att.com|.}

}% end sloppy
\end{document}

.
