\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}, 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} .