\documentstyle[twocolumn]{article}
\title{Netlib news: big files}
\author{Eric Grosse}{}
\begin{document}\maketitle
{\sloppy

In the early days of netlib, most files were of modest size.  A typical
request, say for the ``real symmetric'' driver from eispack, produced a
reply of 30 kilobytes or less.  The occasional Fortran program of more
than 100 kilobytes was split arbitrarily into pieces for mailing;  these
had to be glued back together by the recipient.

Now the collection includes large differential equation and
optimization codes, packages written in C where specific filenames
matter, and large bibliographies.  A variety of mail size limits are
appearing in the network.  The use of Unix ``shell archives'' for
transferring collections of files has become widely understood and
accepted.  In light of all this, it is clearly time for netlib to
adapt.  This column announces three changes for dealing with the
problem of big files: ftp, revised mail splitting, and user-specified
mail limits.

We allow ftp access to a copy of the netlib files.  Ftp is a file
transfer protocol widely available on machines connected to the
Internet.  Using whatever syntax is appropriate for your local system,
connect to research.att.com (also called 192.20.225.2) and login using
the name ``netlib''.  You'll be asked for your email address, so that we
can keep an accurate log of activity and send you bug fixes if, heavens
forfend, serious problems should be uncovered.  Set ``binary'' mode, if
your version of ftp doesn't do that automatically.  Then use the
``dir'', ``cd'', and ``get'' or ``mget'' commands to retrieve desired
files.  Many have a ``.Z'' suffix indicating that they need to be
uncompressed after the transfer.  If this all sounds too difficult or
confusing, just stick to email.

Netlib now uses a new mechanism for splitting up its reply into
multiple mail messages.  The messages you will now receive are a shell
archives, scripts to be executed using the Unix ``sh'' command.
(People on other operating systems will have to edit manually.)
After executing each message, in arbitrary order, the netlib files will
be recreated on your system with their original names.  In the case of
files too big to send in a single message, this is done by sending
temporary partial files; each script checks to see if all the partial
files have arrived and, if so, assembles them into the original big
file.  But you don't need to worry about that;  it is all automatic.

In some cases, an author's contribution to netlib is already in the
form of a shell archive.  So whether you get it by ftp or by executing
mail messages, you still need to execute the file another time to do
the final unpacking.  Yes, recursion can be confusing.

By default, netlib splits its reply into messages of at most 100
kilobytes.  This satisfies most machines on the Internet.  To change
the limit to, say, 20 kilobytes, you can give netlib the command
``mailsize 20k''.

Initially these changes are installed only at research.att.com, so that
I can respond to suggestions for improvements.  Assuming the new mail
splitting meets with general approval, it will be installed on the
other netlib nodes.  As an alternative to ftp, Jack Dongarra will soon
be releasing an X-windows interface, which will allow downloading files
from netlib@ornl.gov.

A final word regarding big files: if your mail connection to netlib still
depends somewhere along the path on dialup links, be sure you don't abuse
someone else's hospitality, lest your service be cut off.

\section*{Recent additions}

PCON61 (the latest version of Rheinboldt and Burkardt's well-known
program for continuation) has been installed.  ``Program options
include the ability to search for solutions for which a given component
has a specified value.  Another option is a search for a limit or
turning point with respect to a given component.''

In the {\bf opt} library, you will find Toint's {\bf ve08ad},
a subroutine which minimizes a partially separable objective function
with optional bound constraints.

Though the code is unchanged, the recent appearance of
Total Least Squares in SIAM's Frontiers book series merits notice.
For details, ``send index for {\bf vanhuffel}''.

{\bf Confpack}, by Gutknecht and Hough, implements conformal mapping
by numerical solution of Symm's integral equation.  ``send index
for conformal.''

Gerard Holzman's {\bf spin} package for protocol validation is out of
the customary (scientific computing) scope of netlib but should
interest people in distributed computing.

The {\bf pvm} library has been installed.  From the abstract:
``PVM stands for Parallel Virtual Machine. It is a software package
that allows the utilization of a heterogeneous network of parallel
and serial computers as a single computational resource. PVM consists
of two parts: a daemon process that any user can install on a machine,
and a user library that contains routines for initiating processes on
other machines, for communicating between processes, and synchronizing
processes.''

TOMS algorithms 685 (separable elliptic PDEs) and 686 (updating
QR factorizations) arrived in February.

F2c, cheney-kincaid, kincaid-cheney, dassl, gcv, a/loess, fn/alngam,
fn/ci, misc/netlib, picl, pltmg, port/linpar, and numerous other files
have been updated.

In general, if you're wondering whether a file has been added in a
particular directory or whether it has been modified recently, you can
try a request like ``send directory from eispack''.  That file is
automatically recreated nightly, and hence tells the truth even when
the netlib administrator is too busy to keep the ``index'' and
``changes'' files up to date.

{\em If you're new to netlib, send e-mail containing the line ``help''
to one of the Internet addresses
\begin{verbatim}
  netlib@research.att.com
  netlib@ornl.gov
  netlib@nac.no
  netlib@draci.cs.uow.edu.au
\end{verbatim}
or uucp address {\tt uunet!research!netlib}.  A few minutes later, assuming
you have speedy mail connections, you will receive information on how to use
netlib and an overview of the many mathematical software libraries and
databases in the collection.}

{\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 {\tt ehg@research.att.com}.  Unix is a registered trademark of AT\&T
Bell Laboratories.  This column was written August 24, 1991.}

}% end sloppy
\end{document}
