next up previous contents
Next: Sn-Sz Up: Linux Software Encyclopedia Previous: Rn-Rz   Contents

Sa-Sm

Last checked or modified: Jan. 9, 2001

[home / linux ]


CATEGORIES | NEW
Aa-Am | An-Az | Ba-Bm | Bn-Bz | Ca-Cm | Cn-Cz | Da-Dm | Dn-Dz | Ea-Em | En-Ez | Fa-Fm | Fn-Fz | Ga-Gm | Gn-Gz | Ha-Hm | Hn-Hz | Ia-Im | In-Iz | Ja-Jm | Jn-Jz | Ka-Km | Kn-Kz | La-Lm | Ln-Lz | Ma-Mm | Mn-Mz | Na-Nm | Nn-Nz | Oa-Om | On-Oz | Pa-Pm | Pn-Pz | Qa-Qm | Qn-Qz | Ra-Rm | Rn-Rz | Sa-Sm | Sn-Sz | Ta-Tm | Tn-Tz | Ua-Um | Un-Uz | Va-Vm | Vn-Vz | Wa-Wm | Wn-Wz | Xa-Xm | Xn-Xz | Ya-Ym | Yn-Yz | Za-Zm | Zn-Zz |


SableCC
An object-oriented framework for generating compilers and interpreters in Java. The framework is based on two key design decisions:
  • it uses object-oriented techniques to automatically build a strictly-typed abstract syntax tree that matches the grammar of the compiler; and
  • it generates tree-walker classes using an extended version of the visitor design pattern enabling the implementation of actions on the nodes of the abstract syntax tree using inheritance.
These decisions lead to a shorter development cycle for compiler construction. The features of SableCC include:
  • Deterministic Finite Automaton (DFA) based lexers with full Unicode support and lexical states;
  • an Extended Backus-Naur Form grammar syntax;
  • LALR(1)-based parsers;
  • automatic generation of strictly-typed abstract syntax trees and tree-walker classes; and
  • uses collections as defined in the Java 1.2 API.

[http://www.sablecc.org/]

SACLIB
The Symbolic Algebra Computation LIBrary is a library of C programs for performing computer algebra. A file containing information on how to compile this on Linux boxes can be found in the subdirectory ``upload.'' See also the PACLIB software in another directory.

[ftp://ftp.risc.uni-linz.ac.at/pub/saclib/]

SAIF
The Spatial Archive and Interchange Format is a language for modeling geographic data and a vendor-neutral format for archiving and distributing such data. SAIF was developed for sharing spatial and spatiotemporal information and designed to facilitate interoperability, particularly in the context of data exchange. It follows a multiple inheritance, object-oriented paradigm. While SAIF is considered a base standard, another version called SAIFLite has been developed to be a functional standard which provides strong guidance as to how SAIF should be employed.

[http://home.gdbc.gov.bc.ca/fmebc/]

FMEBC
A program that supports the translation/transformation to and from the SAIF/ZIP format. The supported formats include MicroStation Design, ESRI ArcView Shape, ESRI Arc Generate, MOEP binary compressed, MapInfo Data Interchange Format, and tabular data in no special format. Distributions of FMEBC are available for several platforms including Linux Intel.

[http://home.gdbc.gov.bc.ca/fmebc/fmebcintro.htm]

SAIFSuite
A suite of utilities for managing data in SAIF/ZIP files. The utilities in the package include:
  • a CSN to HTML generator for converting a set of data types specified in SAIF CSN and producing an HTML representation;
  • an OSN pretty printer that prints the contents of an SAIF/ZIP file in prettyprinted ASCII format;
  • several functions for reporting on data set statistics;
  • an inheritance hierarchy viewer which displays the inheritance hierarchy as a directory tree;
  • feature type validation utilities for checking the syntactic correctness of CSN definitions;
  • an SAIF data set validator that verifies that the data in OSN conforms to the data model in CSN;
  • a control file generator which automatically generates a control file based on the contents of a user-provided CSN file; and
  • a control file validator that verifies that the SAIF portion of a correlation table is consistent with the data models.
Distributions of SAIFSuite are available for several platforms including Linux Intel.

[http://home.gdbc.gov.bc.ca/fmebc/saifintro.htm]

SAINT
The Security Administrator's Integrated Network Tool gathers information about remote hosts and networks by examining various network services. The information gathered includes the presence of various network information services as well as potential security flaws, e.g. incorrectly configured network services, well-known bugs, or bad policy decisions. It either directly reports the data gathered or uses a simple rule-based system to investigate potential security problems.

[http://www.wwdsi.com/saint/]

Sajber Jukebox
An MPEG layer 3 audio player with a graphical user interface. The features of Sajber Jukebox include:
  • support for MPEG layer3 (as well as 1 and 2);
  • real-time playing of MPEG files on the Web;
  • functions including forward, rewind, pause and seek;
  • a mixer control allowing changes in bass, treble, volume and PCM/DSP;
  • file, standard database, and HTTP browsers;
  • selecting from any number of browsers and playing with repeat and random;
  • high configurability and saving of configurations;
  • real-time threads allowng real-time scheduling;
  • a Web bookmark system; and
  • a progression bar and a timer to keep track of songs.
A source code distribution is available. This is built on top of and requires the Qt library.

[http://kewl.campus.luth.se/~wizball/jukebox/index.html]

SAL
A library providing abstractions of various operating system services for making applications more portable. The System Abstraction Library provides abstractions for multitasking, file I/O and socket I/O for various UNIX versions as Windows 95/98/NT. The multitasking abstractions are provided via conditional inheritance with three different implementations provided:
  • a portable cooperative multitasking implementation based on the C setjmp/longjmp functions;
  • an implementation based on POSIX threads; and
  • one for the Windows family based on the Win32 interface.

The SAL abstractions provided for file I/O include:

  • a standard set of methods for accessing files;
  • a mapped on memory file abstraction providing direct access to the file data using the virtual memory mechanism; and
  • an abstraction of files consisting of several physical segments.
An abstract class socket and several derived classes provide system dependent implementations of socket I/O. A source code distribution of SAL is available.

[http://www.ispras.ru/~knizhnik/]

Salamander
A push-based distribution substrate for Internet applications. Application interfaces written in both C and Java are currently (7/98) available for developers.

[http://www.eecs.umich.edu/~rmalan/salamander/]

Sam
Sam is an interactive multi-file text editor intended for bitmap displays. It was developed chiefly by Rob Pike at Bell Labs as part of the Plan9 project to have no explicit limits and to be efficient. It combines cut-and-paste interactive editing with an unusual command language based on the composition of structural regular expressions which makes complex or repetitive editing tasks easy to specify. Sam can edit uninterpreted ASCII text files but has no facilities for multiple fonts, graphics, or tables. Files are treated as transaction databases which implement changes as atomic update, providing an undo mechanism as changes are unwound. Efficiency is achieved by a collection of caches which minimize both disk traffic and data motion.

Sam comprises two programs: sam, which does the command processing and file manipulation; and samterm, which controls the display and interacts with the user. You can run sam on one machine and samterm on another connected via remote execution. The design reflects the functionality of the Plan 9 environment in which Sam was originally developed. This distribution is a version of Sam modified to work in the UNIX environment rather than in Plan 9.

The Sam editor is available in a source code distribution. It is written in ANSI/POSIX-compatible C and requires a compiler which meets those standards. The makefile in this distribution has been slightly modified for compilation on Linux platforms with gcc. The documentation includes a couple of papers describing the original Plan 9 implementation along with several man pages with some updated information about the X11 implementation.

[http://www.ibiblio.org/pub/Linux/apps/editors/X/]
[http://hawkwind.utcs.utoronto.ca:8001/mlists/sam.html]
[http://www.cs.bell-labs.com/sys/doc/]

Samba
A suite of programs which work together to allow Windows 95/NT clients to access a UNIX filespace and printers via a protocol called the SMB (Session Message Block) protocol. The pragmatic upshot is that it allows you to redirect disks and printers to UNIX disks and printers from clients running LAN Manager, Windows for Workgroups, Windows NT and OS/2. A UNIX client program is also supplied that allows UNIX users to use an FTP-like interface to access filespace and printers on other SMB servers.

The components of the Samba program suite include:

  • smbd, the SMB server that handles actual connections from clients;
  • nmbd, the Netbios server that helps clients locate servers;
  • smbclient, the UNIX-hosted client program;
  • smbrun, a program to help the server run external programs;
  • testprns, a program to test server access to printers;
  • testparms, a program to test the configuration file for correctness;
  • smb.conf, the configuration file; and
  • smbprint, a sample script showing how to allow a UNIX host to use smbclient to print to an SMB server.

Samba is available only as source code from the given home site (although binaries may be available elsewhere for some platforms, especially Linux). It has been run successfully on many platforms, including SunOS, Linux, SOLARIS, SVR4, Ultrix, OSF1, AIX, BSDI, NetBSD, etc. See the site for many others. The documentation includes man pages for all of the programs, a FAQ, and some Linux HOWO pages on how to set up a Samba Server. There is also a newsgroup called comp.protocols.smb and a couple of mailing lists devoted to discussion of Samba-related matters (with archives of the latter available at the home site). See Eckstein et al. (1999).

[http://samba.anu.edu.au/samba/]

LinNeighborhood
A clone of Microsoft's Network Neighborhood built using GTK+. It runs on top of Samba utilities and smbfs, and can be used to browse an SMB (CIFS) network consisting of Samba, Windows, OS/2, LanManager for DOS, etc. It also has an interface for mounting the found shares.

[http://www.bnro.de/~schmidjo/]

sambaconfig
A tool for reading and changing the smb.conf file in the Samba package via a Web browser. The features include:
  • grouping shares in different types;
  • copying, renaming and deleting shares;
  • adding and removing options from shares; and
  • changing option values.

[http://www.geocities.com/grymse/sambaconfig/]

SAML
The Simple Algebraic Math Library is a C library for symbolic calculations along with some application programs. It provides an object oriented framework for defining and handling mathematical types and implements the most common data types in computer algebra, e.g. integers, reals, fractions, complex numbers, polynomials, tensors, matrices, etc. The application programs are an interactive symbolic calculator (samuel), a programming language (induce), and a program to factorize integers. A set of Python bindings is included in the distribution. This should compile on any UNIX system with GCC 2.5.0 or later, gdbm, Perl and gmake.

[http://topo.math.u-psud.fr/~bousch/saml-eng.html]

SampLin
Scientific data acquisition, visualization and process control software for Linux and other UNIX platforms. This was originally developed for controlling mass and optical spectrometers but later expanded into a more universal version. The features of SampLin include:
  • a simple BASIC-like scripting language including widget creation commands;
  • local or network data acquisition via the RPC protocol;
  • support for GPIB, SERIAL or generic devices;
  • a multiple dataseries plotting widget which can export in text and PostScript formats;
  • a driver for Advantech PCL-818 labcards; and
  • a driver for Advantech PCL-727 12-channel D/A cards.
A source code distribution of SampLin is available. Installation requires Qt, KDE and the GPIB library.

[http://www.troja.mff.cuni.cz/~kvasnica/samplin.html]

SandiaXTP
A reference implementation of the Xpress Transport Protocol or XTP being developed for the purposes of interoperability testing and protocol procedure analysis. SandiaXTP is implemented with object-oriented techniques, includes full source code, is built on a reusable set of common transport base classes (i.e. MTL), and runs as a user-space daemon.

Sandia is developing this as an alternative to current network technology, which is insufficient for the needs of coupling a large number of processors in a computing cluster. XTP is the current best candidate for optimizing the entire cluster computing stack from wire to protocols to clustering environments to end application since it is easily configured, paradigm independent, and not tied to any single data delivery service. The goal is to have an XTP implementation adaptable over several delivery services including IP, FDDI, Ethernet, ATM, the XUNET gigabit testbed, an emerging LAN interconnections like the Scalable Coherent Interface (SCI) and Myrinet.

A source code distribution of SandiaXTP is available. It can be compiled and used on any compiler/OS compiler on which MTL will work, including Linux Intel systems. A user's guide is included in PostScript format.

[http://www.ca.sandia.gov/xtp/SandiaXTP/]

SANE
Scanner Access Now Easy is a universal scanner interface, i.e. an application programming interface (API) that provides standardized access to any raster image scanner hardware. It allows writing just one driver for each scanner device instead of one drive for each scanner and application. SANE is primarily targeted at UNIX environments, although the standard has been carefully designed to make it possible to implement the API on virtually any hardware or operating system.

The SANE package includes several applications or front-ends:

  • scan, a simple and versatile command-line interface for acquiring images;
  • xscan, a graphical interface for acquiring images which is based on GIMP (and can be used either in standalone mode or as a GIMP extension);
  • xcam, a GTK-based graphical interface for cameras which acquires images continuously; and
  • saned, the SANE network daemon which can procide network-transparent access to image acquisition devices.
The drivers currently (4/97) included in the distribution are:
  • hp for HP ScanJet scanners;
  • mustek for Mustek flatbed scanners;
  • net, the client side of SANE network support which allows applications to connect to saned daemons running on other hosts;
  • pint, which provides access to PINT, a kernel driver interface for NetBSD and OpenBSD;
  • pnm, a pseudo-driver which reads PNM files;
  • qcam, a driver for Connectix QuickCams; and
  • umax, a driver for UMAX flatbed scanners.

The SANE source code is available and has been built on Linux (Intel and Alpha) and NetBSD platforms and should be easily portable to other generic UNIX platforms. The SANE standard document is available in several formats, including PostScript. There is also a majordomo mailing list for the purpose of discussing the SANE standard and its implementations. An introduction to SANE can be found in the March 1998 issue of the Linux Journal.

[http://www.mostang.com/sane/]

sanecgi
A Web browser based interface to all scanners compatible with the SANE scanning library. This also requires Perl 5.004 or higher and some other packages.

[http://www.boutell.com:80/sanecgi/]

XSane
A GUI front-end for SANE whose features include:
  • scanning, photocopying and faxing functionality;
  • sending scanned images directly to the GIMP as a plug-in;
  • support for Automatic Document Feeder and multiple image scans;
  • several 8- and 16-bit output formats;
  • automatic increase of filename counter;
  • changes in color enhancement are updated in a preview window without requiring a new preview scan;
  • color enhancement for scanners/backends that don't support custom gamma;
  • an autoenhancement function that computes values for gamma, contrast and brightness; and
  • zoomable previews.
A source code distribution is available.

[http://www.wolfsburg.de/~rauch/sane/sane-xsane.html]

SANTK
The Storage Area Network configuration ToolKit is a toolkit for designing and developing storage area networks (SAN). The user supplies SANTK with inputs such as the number of servers and storage units and mesh characteristics, with which it creates a suggested design for an SAN. The output information includes the number and size of switches, the architecture, and the number of open ports. The SANTK is written in and requires Java 1.3.

[http://www.borg.umn.edu/fc/SANTK/]

SAOimage
A Starlink Project application which is an astronomical image display program for computers with X Window displays. It provides a large selection of image display and manipulation options including scaling, zooming, panning, false color palettes, pixel examination, display blinking, and region specification. The images can be viewed interactively as well as printed to a file in PostScript format. Image files in several formats can be read directly or passed through a named pipe, and image mosaics can be constructed via the use of STSDAS.

The image manipulation and viewing features of SAOimage include:

  • scaling between limits;
  • magnifying, zooming, and panning around the image;
  • performing histogram equalization;
  • displaying using log and square root scaling;
  • using false color with built-in or user-specified color tables;
  • stretching the constrast;
  • changing the gamma parameter to give nonlinear contrast;
  • typing text onto an image;
  • blinking between several images;
  • flagging specific regions for special processing needs;
  • tracking pixel coordinates under the mouse; and
  • displaying IRAF images.

A binary distribution of SAOimage is available for DEC OSF/1, Linux Intel, and Sun Solaris platforms. The program is documented in a user's manual available in PostScript format.

[http://tdc-www.harvard.edu/software/saoimage.html]

saolc
The Structured Audio Orchestra Language is a feature of MPEG-4 which allows you to describe sound using a high-level, sophisticated synthesis language. The synthetic music and sound effects produced with this method are completely device independent. The saolc software creates sound files from input text files written in SAOL.

[http://sound.media.mit.edu/~eds/mpeg4]

SAORD
The SAO R&D software tree contains the sources and auxiliary files for software developed by the SAO software R&D group. It includes the ASSIST graphical user interface (GUI), the SAOtng image display program, and the X Public Access mechanism (XPA).

ASSIST is a graphical user interface to IRAF and other analysis environments under the X Window system. It provides a convenient way to traverse the IRAF package hierarchy and load selected packages, find and access tasks in the IRAF hierarchy using keyword searches, access often-used tasks directly, run tasks, inspect and change task parameters, view task and package help files, try out recipes and tutorials, use a common GUI for IRAF and non-IRAF tasks, and submit comments, questions and bug reports. The most recent release adds support for WWW documents and more generalized support for arbitrary analysis programs and systems, so its use isn't limited to IRAF.

SAOtng, or SAOimage: The Next Generation, is an enhanced version of the SAOimage display program. It supports direct display of IRAF images and FITS images an can easily support other formats. It also has multiple frame buffers, region and cursor manipulation, several scale algorithms, many colormaps, and can easily communicate with external analysis tasks. It is highly configurable and extensible and as such can be modified or extended for almost any sort of task involving image displays. The XPA mechanism is used by both ASSIST and SAOtng to allow external processes to control their functions.

The SAORD package was developed and tested on Sun workstations and ports have been performed for SGI, HP and Alpha platforms. To build and use this software you must be running at least X11R5 and have both the Athena widget set (Xaw) and imake installed on your system, so it doesn't sound like too onerous a task to port it to Linux platforms. The available documentation consists of several papers and technical reports on PostScript format.

[http://hea-www.harvard.edu/RD/HomePage.html]

SAPACLISP
A library of Common Lisp functions for performing various spectral analysis computations. It is a companion package for the book ``Spectral Analysis for Physical Applications: Mulitaper and Conventional Univariate Techniques'' by D. B. Percival and A. T. Walden. At present the best available Common Lisp implementation is CMUCL.

[http://lib.stat.cmu.edu/sapaclisp/]

Sapphire
An acoustic compiler which takes a text file written in the Sapphire programming language and converts it into a sound file. Sapphire has a large range of objects from which sound can be built including envelope shapers, filters, oscillators, sample playback modules, and arithmetic operators. These can be wired together into sounds of arbitrary complexity.

A source code distribution of Sapphire is available. It is written in C and can be compiled and used on most UNIX flavors including Linux. It is documented in a user's manual available in several formats including PostScript.

[http://sunsite.unc.edu/pub/Linux/apps/sound/editors/]

SART
A Guile library for ray tracking and high complexity 3-D modeling. SART can be used to create and render very complex images (e.g. 3-D fractals, CSGs and splines), powerful procedural textures, and even to combine rendering techniques (e.g. using Z buffering, ray tracing and radiosity in a single image). A source code distribution is available which requires Guile for installation and use.

[http://petra.zesoi.fer.hr/~silovic/sart/]

sash
The stand-alone shell is designed for assisting in recovery from certain types of system failures, especially those involving missing shared libraries or important executables. Sash can execute external programs like in any other shell, but it also has built-in versions of many standard system commands. These commands include -chattr, -chgrp, -chmod, -chown, -cmp, -cp, -dd, -echo, -ed, -grep, -file, -find, -gunzip, -gzip, -kill, -ln, -ls, -lsattr, -mkdir, -mknod, -more, -mount, -mv, -printenv, -pwd, -rm, -rmdir, -sum, -sync, -tar, -touch, -umount and -where. The programs are similar to the standard programs with similar names although usually simpler and cruder (i.e. without many of the usual options implemented). Each is also prefaced with a dash to distinguish it from the normal system program of the same name.

[http://www.canb.auug.org.au/~dbell/]

SATAN
The Security Administrator Tool for Analyzing Networks is an easy-to-use and useful tool for probing networks for security vulnerabilities. SATAN sequentially scans networks of computers with the severity of the scan capable of being modified. It can recognize well-known security holes and, upon finding any, reports them but does nothing about them. It even reports how various weaknesses can be exploited. It checks for such things as old or bad versions of sendmail, writeable world-exported NFS filesystems, incorrectly configured TFTP, accessible Yellow Pages password files, and rhosts files. You compile it, run it, read the report it generates, and then do something about the security holes it finds.

A source code version of SATAN is available, and it is recommended that it be compiled by each user since there have been several reports of Trojan horses found in precompiled binaries. Various patches are needed to compile SATAN on Linux systems. The appropriate information and files can be found at the Linux SATAN Site at CEBAF amongst other places. The distribution contains documentation for the package and it is also covered in Garfinkel and Spafford (1996). The two URLs given below are of the creators of SATAN.

[http://www.fish.com/satan/]
[http://wzv.win.tue.nl/satan/]
[http://staff.washington.edu/dittrich/misc/satan/]
[http://www.cs.ruu.nl/cert-uu/satan.html]

Satan Paint (spaint)
A game developer's paint program and sprite editor. Features include a script language, unlimited image size and number of images, animation, tiling, morphing, antialiasing, blurring, and 8 bit color editing (but it reads 24 bit formats). It reads PXC, BMP, PIC, LBM, SPE and X Window dumps and writes SPE, PCX and BMP formats. Ports are available for DOS, Sun, SGI, AIX, and Linux.

[http://www.ibiblio.org/pub/Linux/apps/graphics/draw/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/graphics/]

Sather
An object oriented language designed to be simple, efficient, safe, flexible, and non-proprietary. This is intended to be a simpler version of Eiffel designed for numerical applications. A Linux binary of the compiler is available in addition to the complete distribution. You might want to snag the binary instead of compiling it yourself seeing how the latter feat requires some 46 Mb to accomplish. Questions can be asked and information found on the newsgroup comp.lang.sather. See Stoutamire and Kennel (1995).

[http://www.gnu.org/software/sather/]
[http://www.icsi.berkeley.edu/~sather/]

Sather-K
A modern object-oriented imperative programming language. It originates, like its close cousin Sather, with the Eiffel language, although the design objective was to get rid of all unnecessary constructions in Eiffel. It differs from Sather in that the goals included rapid rather than separate compilation, ease of use as a pedagogical platform for teaching imperative and object oriented programming techniques, and use as a research vehicle for understanding library design. A project is currently underway to combine both strains of Sather.

The source code of Sather-K is available as well as binaries for Linux and SunOS platforms (with binaries for MS/DOS, Sun Solaris, SGI, DEC Ultrix, and HP platforms in the works). The documentation is contained within a 40+ page user's guide in PostScript format.

[http://i44s11.info.uni-karlsruhe.de:80/sather/index_engl.html]

SATLIB
A collection of benchmark problems, solvers and tools used for research into propositional satisfiability or SAT. SATLIB was created to provide a uniform test-bed for SAT solvers as well as a site for collecting SAT problem instances, algorithms and empirical characterizations of the performance of the algorithms.

[http://www.intellektik.informatik.tu-darmstadt.de/SATLIB/]

SAVANT
A project to build an extensible, object-oriented intermediate form (IIR) for the hardware description language VHDL. The project has produced a suite of software to analyze VHDL, build the IIR, and output C++ code suitable for execution with the TyVIS VHDL simulation kernel. The SAVANT software components are:
  • SCRAM, a VHDL analyzer that checks a VHDL description for syntactic and static semantic correctness and store it in the IIR form;
  • AIRE, an intermediate form standard that includes definitions of two intermediates, a memory resident data structure called IIR, and a machine-independent file data structure called FIR;
  • the transmute method, i.e. a collection of derived classes that support the rewriting of the IIR into a reduced form via the implementation of a static model reduction algebra;
  • publisher classes, i.e. a pair of overloaded methods for regenerating VHDL from the internal IIR and producing C++ simulation code to link with TyVIS; and
  • a library manager that allows the user to create design libraries and help the parser locate design libraries that are referenced in other VHDL descriptions.
A source code distribution of SAVANT is available. It is written in C++ and has been successfuly compiled on several platforms including Linux.

[http://www.ececs.uc.edu/~paw/savant/]

sB_BLAS
A collection of parallel implementations of the level 3 Basic Linear Algebra Subroutines (BLAS). These were all written using the MPI system.

[http://www.cs.utexas.edu/users/rvdg/sw/sB_BLAS/]

ScaLAPACK
The Scalable LAPACK is a collection of software for performing dense and band linear algebra computations on distributed-memory parallel computers. The ScaLAPACK routines are basically LAPACK routines redesigned for distributed memory computers and, like their predecessors, are based on block-partitioned algorithms to minimize the frequency of data movement between the levels of the memory hierarchy. This library is built on PBLAS and BLACS, with all interprocessor communications handled by these packages.

The routines contained in Version 1.6 (11/97) of ScaLAPACK are divided into three categories. The driver and expert driver routines each call one or more of the more basic computational routines. The driver routines include:

  • psdbsv, which solves a general band system of linear equations AX=B (with no pivoting);
  • psdtsv, which solves a general tridiagonal system of linear equations AX=B (with no pivoting);
  • psgbsv, which solves a general banded system of linear equations AX=B;
  • psgels, which solves overdetermined or underdetermined linear systems involving a matrix of full rank;
  • psgesv, which solves a general system of linear equations AX=B;
  • psgesvd, which computes the SVD of a general matrix and optionally computes the left and/or right singular vectors;
  • pspbsv, which solves a symmetric positive definite banded system of linear equations AX=B;
  • psposv, which solves a symmetric positive definite system of linear equations AX=B;
  • psptsv, which solves a symmetric positive definite tridiagonal system of linear equations AX=B; and
  • pssyev, which computes selected eigenvalues and eigenvectors of a symmetric matrix.
The expert driver routines are:
  • psgesvx, which solves a general system of linear equations;
  • psposvx, which solves a symmetric positive definite system of linear equations;
  • pssyevx, which computes selected eigenvalues and eigenvectors of a symmetric matrix; and
  • pssygvx, which computes selected eigenvalues and eigenvectors of a real generalized symmetric-definite eigenproblem.

The computational routines in ScaLAPACK include:

  • psdbtrf, which computes an LU factorization of a general band matrix with no pivoting;
  • psdbtrs, which solves a general band system of linear equations using the LU factorization computed by psdbtrf;
  • psdttrf, which computes an LU factorization of a general tridiagonal matrix with no pivoting;
  • psdttrs, which solves a general tridiagonal system using the LU factorization computed by psdttrf;
  • psgbtrf, which computes an LU factorization of a general band matrix using partial pivoting with row interchanges;
  • psbtrs, which solves a general band system using the factorization computed by psgbtrf;
  • psgebrd, which reduces a general rectangular matrix to a real bidiagonal form by an orthogonal transformation;
  • psgecon, which estimates the reciprocal of the condition number of a matrix;
  • psgeequ, which computes row and column scalings to equilibrate a general rectangular matrix and reduce its condition number;
  • psgehrd, which reduces a general matrix to upper Hessenberg form by an orthogonal similarity transformation;
  • psgelqf, which computes an LQ factorization of a general rectangular matrix;
  • psgeqlf, which computes a QL factorization of a general rectangular matrix;
  • psgeqpf, which computes a QR factorization with column pivoting of a general rectangular matrix;
  • psgeqrf, which computes a QR factorization of a general rectangular matrix;
  • psgerfs, which improves the computed solution to a system of linear equations and provides error bounds and backward error estimates for the solutions;
  • psgerqf, which computes an RQ factorization of a general rectangular matrix;
  • psgetrf, which computes an LU factorization of a general matrix using partial pivoting with row interchanges;
  • psgetri, which computes the inverse of a general matrix using the LU factorization computed by psgetrf;
  • psgetrs, which solves a general system of linear equations using the LU factorization computed by psgetrf;
  • psggqrf, which computes a generalized QR factorization;
  • psggrqf, which computes a generalized RQ factorization;
  • pslahqr, which computes the Schur decomposition and/or eigenvalues of a matrix already in Hessenberg form;
  • psorglq, which generates all or part of the orthogonal matrix Q from an LQ factorization determined by psgelqf;
  • psorggl, which generates all or part of the orthogonal matrix Q from a QL factorization determined by psgeqlf;
  • psorggr, which generates all or part of the orthogonal matrix Q from a QR factorization determined by psgeqrf;
  • psorgrq, which generates all or part of the orthogonal matrix Q from an RQ factorization determined by psgerqf;
  • psormbr, which multiplies a general matrix by one of the orthogonal transformation matrices from a reduction to bidiagonal from determined by psgebrd;
  • psormhr, which multiplies a general matrix by the orthogonal transformation matrix from a reduction to Hessenberg form determined by psgehrd;
  • psormlq, which multiplies a general matrix by the orthogonal matrix from an LQ factorization determined by psgelqf;
  • psormql, which multiplies a general matrix by the orthogonal matrix from a QL factorization determined by psgeqlf;
  • psormqr, which multiplies a general matrix by the orthogonal matrix from a QR factorization determined by psgeqrf;
  • psormrq, which multiplies a general matrix by the orthogonal matrix from an RQ factorization determined by psgerqf;
  • psormrz, which multiplies a general matrix by the orthogonal transformation matrix from a reduction to upper triangular form determined by pstzrzf;
  • psormtr, which multiplies a general matrix by the orthogonal transformation matrix from a reduction to tridiagonal form determined by pssytrd;
  • pspbtrf, which computes the Cholesky factorization of a symmetric positive definite banded matrix;
  • pspbtrs, which solves a symmetric positive definite banded system of linear equations using the Cholesky factorization computed by pspbtrf;
  • pspocon, which estimates the reciprocal of the condition number of a symmetric positive definite distributed matrix;
  • pspoequ, which computes row and column scalings to equilibrate a symmetric positive definite matrix and reduce its condition number;
  • psporfs, which improves the computed solution to a symmetric positive definite system of linear equations and provides forward and backward error bounds for the solution;
  • pspotrf, which computes the Cholesky factorization of a symmetric positive definite matrix;
  • pspotri, which computes the inverse of a symmetric positive definite matrix using the Cholesky factorization computed by pspotrf;
  • pspotrs, which solves a symmetric positive definite system of linear equations using the Cholesky factorization computed by pspotrf;
  • pspttrf, which computes the Cholesky factorization of a symmetric positive definite tridiagonal matrix;
  • pspttrs, which solves a symmetric positive definite tridiagonal system of linear equations using the Cholesky factorization computed by pspttrf;
  • psstebz, the computes the eigenvalues of a symmetric tridiagonal matrix by bisection;
  • psstein, which computes the eigenvectors of a symmetric tridiagonal matrix using inverse iteration;
  • pssygst, which computes a symmetric-definite generalized eigenproblem to standard form;
  • pssytrd, which reduces a symmetric matrix to real symmetric tridiagonal form by an orthogonal similarity transformation;
  • pstrcon, which estimates the reciprocal of the condition number of a triangular matrix;
  • pstrrfs, which provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular coefficient matrix;
  • pstrtri, which computes the inverse of a triangular matrix;
  • pstrtrs, which solves a triangular system of linear equations;
  • pstzrzf, which reduces an upper trapezoidal matrix to upper triangular form by means of orthogonal transformations.

These routines are single precision real versions of the ScaLAPACK routines. Almost all are also available in double precision real, single precision complex, and double precision complex versions. For example, the first driver psdbsv is called pddbsv in double precision real, pcdbsv in single precision complex, and pzdbsv in double precision complex.

ScaLAPACK is written to be portable across a wide range of distributed-memory environments such as the Cray T3, IBM SP, Intel series, TM CM-5, clusters of workstations, and any system for which PVM or MPI are available. Prebuilt versions are available for several platforms including Linux Intel. Prebuilt versions of the underlying BLACS are also available for Linux Intel and other platforms. Available documentation includes a comprehensive installation guide and a user's guide. The former is available in PostScript format and the latter online in HTML format as well as in a commercially available version. Several technical reports are also available. The ScaLAPACK library is one part of the ScaLAPACK Project. See Blackford et al. (1997).

[http://www.netlib.org/scalapack/scalapack_home.html]

scanallert
A pair of Perl scripts for detecting and serving notification about port scans.

[http://www.xs4all.nl/~rmeijer/afspraak.htm]

scanlogd
A daemon that detects port scans and writes one line per detected scan via the syslog mechanism. The program obtains a raw socket at startup and processes IP packets sent to the system. If a source address sends multiple packets to different ports in a short time the event will be logged (with compile-time defaults being 10 different ports within 3 seconds for a log entry and 5 scans within 20 seconds to stop logging temporarily).

[http://www.openwall.com/scanlogd/]

SCARAB
This is a package to integrate and plot the Lorenz attractor. Several integration methods are included and the program is written in C.

[http://sunsite.unc.edu/pub/Linux/apps/math/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/math/]

SCATTERLIB
Note: This has disappeared. If anyone knows where it is or what happened then drop me a line. A library of light-scattering codes mostly written in Fortran. The codes include those for scattering from spheres (Mie scattering), coated and concentric multispheres, spheroids, cylinders slabs, and clusters of spheres and spheroids. Methods include the discrete or coupled dipole approximation (DDA or CDA), the method of moments (MoM), T-matrix, the anomalous diffusion approximation (ADT), the high energy approximation (HEA), and surface patch methods. The applications for which the codes are used include atmospheric radiative transfer, phytoplankton, marine optics, flow cytometry, particle sizing, paints, radar backscatter, and more.

[http://atol.ucsd.edu/~pflatau/scatlib/index.html]

SCC
A precompiler which offers extensions for algebraic programming in C. It is intended to be used in conjunction with a standard C compiler to make possible efficient and convenient computations with algebraic objects other than just floating point numbers or integers. The distribution includes the source code, written in C, and a user's manual in Texinfo format.

[ftp://ftp.ma.utexas.edu/pub/maxima/]

SCCS
The Source Code Control System is a package for managing source files originally introduced by AT&T in the System V version of UNIX. It is currently incorporated into the X/Open standard. A GNU clone of SCCS called, predictably enough, CSSC is available. See Bolinger and Bronson (1995) and Silverberg (1992).

sced
A modeling program that makes use of geometric constraints to edit objects in a virtual world. The scenes created can be exported to a variety of rendering programs including POV-Ray. This chief advantage of sced over other modellers is its constraint based editing capabilities, which gives the user greater control over how objects can be manipulated.

The capabilities of sced include:

  • creating instances of objects;
  • creating new base objects;
  • transforming objects to set their size, orientation and location;
  • setting attributes for objects that control how it appears when rendered;
  • aliasing objects such that they are exported as something else;
  • interactively manipulating the view of a scene in all its parameters;
  • saving and restoring views of the screen;
  • specifying the camera location;
  • creating layers of objects and light sources of various types;
  • previewing a scene via a separate renderer; and
  • loading files in a simple description language.

The source code for sced is available and should compile and install on any system with X Windows Release 5 or later. The author developes it on a Linux platforms so it's fairly safe to assume that it will compile on those. A few binary versions are also available, one being for Linux with ELF libraries. Documentation is available in both HTML and PostScript format.

[http://www.cs.wisc.edu/~schenney/sced/sced.html]

SCEDA
The SCene EDitor/Animator is an X11-based, constraint-oriented 3-D wireframe modeler. It provides support for splined keyframe animation with animated objects having their position, rotation and scale smoothly interpolated across multiple keyframes using a modified spline function. The capabilities of SCEDA include:
  • creating and designing single scenes;
  • cloning or copying single scenes to create multiple scenes;
  • viewing and editing each keyframe individually;
  • controlling the number of interpolated frames between each pair;
  • performing wireframe animations (i.e. previews) from with SCEDA;
  • exporting scene description files for all frames to a wide array of formats;
  • saving and loading keyframe sequences to and from files;
  • cloning or deleting sets of objects within and across keyframes; and
  • propagating views and attributes of objects across keyframes.
A source code distribution of SCEDA is available.

[http://members.home.net/mbeast1/]
[http://www.cyberus.ca/~denism/sceda/sceda.html]

Scene
A project to implement an LPGL version of a 3-D graphics API using C++ and based on the Open Inventor API. The planned features include:
  • Open Inventor 2.0 API;
  • VRML 1.0/2.0 support;
  • Xt/Motif components; and
  • GTK+ components.
A source code distribution of the current (8/99) beta release is available.

[http://scene.netpedia.net/]

SCEPTRE
The System for Circuit Evaluation and Prediction of Transient Radiation Effects is a general purpose circuit analysis program which performs AC, DC, and transient analyses on either linear or nonlinear networks. SCEPTRE employs free form input language and state variable methods to simulate problems of interest to electrical engineers. The features include:
  • flexible nonlinear input wherein circuit elements can be described as constants, tabular data, or arbitrary functions of other network quantities;
  • flexible modeling capability which allows any device to be modeled to the required degree of accuracy;
  • state of the art numerical methods that efficiently simulate networks;
  • storage of model configurations in a model library;
  • automatic determination of initial conditions;
  • automation of multiple case reruns based on a single master run;
  • specification of additional output parameters;
  • instruction sequencing to minimize computational delays in transient analyses;
  • adjustablity of the amount of user control of simulations;
  • extensibility via user-supplied Fortran subroutines; and
  • use of one code to run a range of analyses on a single circuit.
Graphical output is handled via an interface to Gnuplot.

A source code distribution of SCEPTRE is available. It is written in Fortran and can be compiled with it g77 or fort77. A user's manual is included in PostScript format. See also Bowers and Sedore (1971).

[ftp://novilux.fh-friedberg.de/pub/sceptre/]

S-Check
A tool for assaying and improving the performance of parallel and networked (i.e. PVM-type) programs. It is a highly automated sensitivity analysis tool that extends benchmarking and conventional profiling. It predicts how refinements in parts of programs are going to affect performance by making local changes in code efficiencies and correlating these with overall program performance. This analysis is a sophisticated comparison that catches interactions arising from shared resources or communication links.

A source code distribution is available which can be used on many platforms including networks of workstations running either PVM or MPI. Documentation includes a user's manual and several technical reports.

[http://www.nist.gov/itl/div895/cmr/scheck/]

Schelab
A numerical analysis library for Scheme. Schelab is an object-oriented library based on Meroon-V3 and is intended to become the kernel of a matrix algebra system. It currently (10/98) includes:
  • a library for garbage collectable memory chunks;
  • a library of classes for foreign data types from Fortran and C;
  • a Foreign Function Interface (FFI) for Fortran that needs no glue code;
  • a set of overloadable mathematical operations;
  • a partial interface to BLAS;
  • classes for complex and real matrices as well as simple operations; and
  • a timing facility.
A source code distribution of Schelab is available. It can run on top of Guile, MzScheme and Gambit. Documentation is available online.

[http://www.arrakis.es/~worm/schelab.html]

Scheme
A high-level language closely related to LISP. It can be more useful than C for some applications and has a few features lacking in C, e.g. automatic memory management, a richer selection of data types, type-safe primitives, etc. Scheme uses a parenthisized-list Polish notation to describe programs and other data, with the syntax providing for great expressive power largely because of its simplicity.

The significant semantic characteristics of the Scheme language include:

  • the statical scoping of variables wherein each use of a variable is associated with a lexically apparent binding of that variable;
  • latent types wherein Scheme associates types with values (or objects) rather than with variables;
  • objects have unlimited extent which means that no object created during a Scheme computation is ever destroyed (although the garbage collector does reclaim the storage occupied by objects when appropriate);
  • proper tail recursion wherein iterative computation can occur in constant space;
  • procedures are objects which means that you can create them dynamically, store them in data structures, etc.;
  • continuations are explicit rather than behind the scenes so you can use them to implement a variety of advanced control constructs; and
  • arguments are passed by value which means that Scheme evaluates the argument expressions before the procedure gains control whether or not the procedure needs the result of the evaluations.

Several implementations of Scheme (including both interpreters and compilers) are freely available. The implementations available for Linux platforms include:

  • Bigloo, an interpreter and compiler;
  • DrScheme, a development environment with project management and debugging tools;
  • Elk, an interpreter designed as an embeddable extension language subsystem for applications written in C or C++);
  • Gambit, a high-performance compiler and interpreter with several extensions;
  • Kali Scheme, a distributed implementation permitting the efficient transmission of higher-order objects
  • Kawa, a Scheme interpreter written in Java;
  • LISC, a lightweight Scheme interpreter written in Java;
  • MIT Scheme, a compiler which can generate fast code;
  • MzScheme, a extended Scheme interpreter designed to be embedded in applications;
  • OpenScheme, and interpreter and compiler;
  • OScheme, an embeddable Scheme interpreter with various extensions;
  • RScheme, a well-structured implementation with extensions including an object system and threads;
  • Scheme48, a bytecode interpreter;
  • Scheme-to-C, a compiler that compiles Scheme to C;
  • SCM, an interpreter that provides a machine-independent platform for JACAL;
  • Scsh, a UNIX shell/systems programming environment;
  • SIOD, a small interpreter with a database and extensions for UNIX and CGI programming;
  • Stalin, an optimizing compiler;
  • uts, a Scheme bytcode interpreter; and
  • VSCM, a portable implementation with several non-standard features.
See the Scheme FAQ. See the Internet Scheme Repository for lots of code and information about Scheme. See Abelson et al. (1996), Dybvig (1987), Friedman (1996a), Friedman (1996b), Grillmeyer (1997), Pearce (1997) and Springer and Friedman (1989).

[http://www.swiss.ai.mit.edu/projects/scheme/]
[http://www.scheme.org/]
[http://www.schemers.org/]

Scheme 48
A byte-code-interpreter Scheme implementation that can be compiled on any system with a C compiler, including a Linux box with GCC.

[ftp://swiss-ftp.ai.mit.edu/pub/s48/]

Scheme-to-C
An R4RS compliant Scheme system centered around a compiler that compiles Scheme to C. Additional features include expansion passing style macros, a foreign function call capability, records, weak pointers, 3 X11 interfaces, and a garbage collector. These features comprise a system that is portable, efficient, and able to build applications that contain a mix of compiled and interpreted Scheme as well as compiled code from C, C++ and other languages. The current release runs on many systems including Linux platforms. The three interfaces include one to Xlib included in the base system, an alternative Xlib interface called SCIX, and an interactive interface called ezd.

[ftp://gatekeeper.dec.com/pub/DEC/Scheme-to-C/]

Schism
A partial evaluator for a pure (i.e. side-effect free) subset of Scheme. The features include:
  • polyvariant binding-time analysis;
  • treatment of higher-order functions and partially static data structures;
  • color-coded binding-time information via Emacs; and
  • a binding-time inspector.
A source code distribution is available as well as a user's manual in PostScript format.

[http://www.irisa.fr/lande/schism.html]

ScmOS
An object system for Scheme that provides:
  • classes with multiple inheritance;
  • generic procedures;
  • multimethods, i.e. methods that can specialize on one or more arguments;
  • :before, :after and :around auxiliary methods in addition to primary methods;
  • call-next-method and next-method? in primary and :around methods; and
  • standard method combination similar to the default protocol in CLOS.

[http://www.cs.rice.edu/~dorai/scmos.html]

Schwarz-Christoffel Toolbox
A Matlab toolbox containing programs (m-files) for the interactive computation and visualization of Schwarz-Christoffel conformal maps. The Schwarz-Christoffel formula is a recipe for a conformal map from the upper half-plane to th einterior of a polygon in the complex plane. Some maps can be obtained analytically but more often than not the solution of a system of nonlinear equations is required to obtain a map, a solution which can be obtained with this Toolbox. The Toolbox features:
  • the graphical input of polygons;
  • the solution of the parameter problem for half-plane, disk, and exterior mapping;
  • the computation of forward and inverse maps;
  • the adaptive plotting of images of orthogonal grids; and
  • both command line and graphical user interfaces.

The Toolbox can be used with Matlab or with the freely available Octave package which can run most Matlab m-files. It is documented in a 16 page user's guide in PostScript format. This is TOMS algorithm 756 and is documented in Driscoll (1996).

[http://www.math.udel.edu/~driscoll/software/]
[ftp://ftp.mathworks.com/pub/contrib/v4/misc/]

scientific graphics
Packages with which scientific graphics can be produced, or at least those designed for such things, include:
  • ACEgr, an interactive 2-D plotting package with numerous capabilities;
  • AGL, a library of graphics routines with C and Fortran interfaces;
  • Aipsview, a tool for visual astronomical data analysis with which images can be viewed and processed and interactive vector plots can be created;
  • DATAPLOT, a scientific and mathematical computational environment with 2-D plotting capabilities;
  • DAVID, an interactive visualization environment with, among many other things, 2-D plotting functionality;
  • DISLIN, a high-level library of functions for graphical data display;
  • EDGR, an interactive program for creating, editing, printing and storing graphical data;
  • EPIC, a sytem for the management, display and analysis of oceanographic data;
  • ESO-MIDAS, an astronomical data analysis system with 2-D plotting functionality;
  • GLE, a scientific graphics library;
  • GLI, a complete graphics system for plotting complex data sets and displaying images;
  • GMT, a collection of over 50 UNIX tools for manipulating and graphing 2-D data;
  • GMV, a scientific visualization tool for simulation data from structured and unstructured meshes;
  • Gnuplot, a command-line driven interactive plotting utility;
  • GrADS, an interactive tool for the display and analysis of Earth science data;
  • Gri, a language for drawing scientific graphs;
  • Hvplot, a scientific plotting package for 2-D plots;
  • LASSPTools, a collection of utilities for analyzing and graphing data;
  • LinkWinds, a visual data exploration system that can output geophysical data in several formats;
  • MAPGEN/PLOTGEN, a collection of programs to create maps of data with geographic coordinates;
  • Mesh-TV, an interactive tool for visualizing and analyzing data on regular meshes;
  • PGPerl, a Perl interface to PGPLOT;
  • PGPLOT, a library of Fortran-callable graphing routines;
  • PHYSICA, a high-level interactive programming environment with graphics capabilities;
  • Plotmtv, an interactive 2-D plotting program;
  • PlotPlus, an interactive, command-driven 2-D scientific graphics package;
  • plotutils, a collection of programs for plotting 2-D scientific data;
  • PLplot, a library of C functions for creating 2-D scientific graphs;
  • PONGO, an application for interactively plotting data which uses PGPLOT;
  • PSPLOT, a library of Fortran-callable routines for generating 2-D PostScript graphs;
  • ptcl, a package that registers PGPLOT functions as Tcl commands;
  • PPGPLOT, a Python interface to PGPLOT;
  • Robot, a plotting and data analysis program;
  • STAP, an interactive graphics and data analysis program built on top of PGPLOT;
  • TIPSY, a tool for displaying and analyzing the results of N-body simulations in astronomy;
  • VCS, a package for the manipulation and display of scientific data;
  • Vigie, a system for data visualization;
  • Vis5D, a package for visualizing output from numerical weather models and similar sources;
  • WIP, an interactive scientific graphics package built on top of PGPLOT;
  • xdang, a data visualization and viewing package;
  • XFarbe, a contouring program for isolines;
  • Xgraphic, an interactive package for drawing graphs;
  • Xlisp-Stat, an extensible statistical computing environment with graph creation capabilities;
  • XmdvTool, a package for visually exploring multivariate data;
  • XploRe, an interactive statistical computing environment with graph creation capabilities; and
  • YPLOT, a tool for creating 2-D scientific plots.

Scientific Math Library
An extensive collection of predefined C++ classes and routines covering a wide array of the most widely used mathematical applications. The functions include everything from complex variable analysis to matrix and vector algebra. A source code distribution is available that can be compiled on most platforms including UNIX platforms with G++.

[http://www.pa.msu.edu:80/~volya/cpp/cpp.html]

Scientist's Workbench (SWB)
A package whose main functions are to bring together the tools and software required by scientific researchers in a distributed computing environment, to provide a graphical interface to access those tools, and to provide the software necessary to allow researchers to easily build their own graphical interfaces.

The SWB consists of several software components: the X Integrator, the executable widgets, and the global variable manager. The X Integrator (xi) is a standalone pulldown menu program launcher (an X client application) that serves as the SWB presentation layer. Distributed command execution is provided as an integral function in addition to the usual local command execution. It is driven by a user-configurable input file that describes menu layout, defaults, selection titles, and applications to be launched. The executable widgets are a collection of small X clients (C programs) which provide graphical interfaces to common tasks such as displaying and responding to a prompt or specifying a file name. These may be invoked from the command line or in shell shell scripts, enabling users to easily replace text-based interfaces with graphical interfaces. The global variable manager is a UNIX shell script which provides global data sharing between processes both locally and remotely.

The source code for the SWB package is available and requires a UNIX/X11 platform with the Motif library for installation. Documentation for SWB is contained in the distribution package.

[ftp://ftp.tc.cornell.edu/pub/swb/]

Scilab
An interactive scientific software package which, although designed for system control and signal processing applications, is powerful and flexible enough for most general scientific and technical applications. The goals of the Scilab project are to provide a computing environment where data types are varied and flexible, the syntax is natural and easy to use, a reasonable set of primitives are provided to serve as the basis for a wide variety of calculations, an open programming environment allows new primitives to be easily added, and where specialty library development is supported.

Scilab is composed of three distinct parts: an interpreter, libraries of functions (called Scilab procedures), and libraries of Fortran and C routines. The routine libraries are mostly independently created packages available via Netlib and similar repositories which have been slightly modified for compatibility with the interpreter. The Scilab interpreter features a Matlab-like syntax superset which allows it to succinctly and symbolically represent complicated mathematical objects such as transfer functions, linear systems, graphs, polynomials, and polynomial matrices in addition to the usual numerical matrices. There are a variety of powerful primitives available for the analysis of nonlinear systems which allow the explicit and implicit numerical integration of dynamic systems. There are also facilities for nonlinear, quadratic, and linear optimization.

The Scilab programming environment is flexible and extensible in that the creation of functions or function libraries is a well-defined and straightforward procedure in which functions are recognized as data objects and can be manipulated and created just like other types of data objects, e.g. functions can be defined and passed as input or output arguments of other functions. Additionally, a character string data type allows the on-line creation of functions. An easy-to-use interface to Fortran and C subprograms allows libraries of routines previously developed to be used, and a compiler is provided that can transform many Scilab functions into Fortran subroutines (which make use of the supplied Fortran libraries).

Various collections of functions called toolboxes have been developed in the Scilab environment. The Scicos toolbox is a package for the modeling and simulation of dynamical systems based on a general formalism which includes both continuous and discrete systems. It includes a graphical editor which can be used to build complex models by interconnecting blocks representing either predefined or user-defined functions. The LMITOOL package is a tool for solving the linear matrix inequality (LMI) problems which often arise in systems and control. Metanet is a toolbox for computations with graphs and networks. It can handle directed and undirected multigraphs with loops and includes a graphical window in which the graphics can be displayed and modified. The available functions include graph manipulations and transformations as well as graph, network, and miscellaneous computations. GeCI is a communications toolbox which allows the remote execution of programs as well as exchanges of messages between those programs. It enables groups of machines to be combined into a virtual computer across a network. A signal processing toolbox includes many functions for various signal processing tasks including frequency response, sampling, decimation and interpolation, DFTs and FFTs, convolution, the chirp transform, FIR and IIR filters, spectral estimation, filtering and smoothing, optimization in filter design, stochastic realizations, and time-frequency signal analysis.

The source code for Scilab is available along with binaries for Linux, DEC Alpha, HP 9000, IBM RS600, SGI, and Sun platforms. The available documentation (in PostScript format) is extensive and includes an introduction and tutorial, a huge reference manual, an internals manual for developers, and manuals for each of the toolboxes. These are all available in PostScript format (which you may want to modify with psutils since it is in A4 page format).

[http://www-rocq.inria.fr/scilab/]

Scintilla
A source code editing component built using Python that can be used on both UNIX/X11 and Win32 platforms. Scintilla contains the basic features found in standard text editing components as well as additional features useful for editing and debugging source code. These include:
  • syntax styling;
  • error indicators;
  • code completion; and
  • call tips.
This was originally developed, strangely enough, because of annoyances with the available Python editor on Win32.

[http://www.scintilla.org/]

Scion
The Statistics Collection In Operational Networks software is a package for collecting SNMP data in an organized manner and producing useful statistics from that data. The data can be viewed graphically via a Web interface to the package.

The Scion package consists of several programs including:

  • scollect, which gathers data from the nodes specified in configuration files and stores it in an rtdata (i.e. real time data) tree;
  • scook, which processes the raw data collected by
  • scollect into values which can be graphically displayed;
  • scserver, an OpStats server which attempts to be compatible with RFC-1856; and
  • sclient, a graphical, Web-based interface which displays the statistics in a useful format.

The Scion package is available as source code or in binary format for Sun SunOS and Solaris, BSDi, IBM AIX, Windows NT, and Linux Intel platforms. The source is written in C can be fairly easily ported to other generic UNIX platforms. The programs that comprise the package are documented in man pages.

[http://www.merit.edu/~netscarf/]

SciPlot
An Xt widget to display 2-D data in a graph intended to display scientific data. It can format the data in polar or cartesian coordinates, with linear and log axes available for cartesian plots. The features include automatic scaling, legend drawing, noncontinuous (i.e. broken) line segments, real time updates, axis labeling, PostScript output, multiple plot lines, color support, user font specification, dashed lines, symbols drawn at points, and degrees or radians as angles in polar plots.

A source code distribution of SciPlot is available. It is written in ANSI C and requires X11R5 or later. It is subclassed from the Xt Core widget class and thus doesn't depend on any other widget set, although it can be used with many other widget sets.

[http://www.akvo.com/robm/software/unsupported/]

SCIPORT
A portable Fortran emulation of the SCILIB library created by Cray for use with its supercomputers. This package contains single and double precision files, files for testing, and a man page describing the library contents. The library consists of files containing groups of related routines: a version of the BLAS routines, searching and ordering programs, linear recurrence programs, matrix utilities, FFT programs, filter programs, gather/scatter programs, a version of LINPACK, and a version of EISPACK.

[http://www.netlib.org/scilib/index.html]

SciTE
The Scintilla-based Text Editor is a text editor built on top of Scintilla. Both are intended to be useful for building and testing source code on Win32 and X11 platforms.

[http://www.scintilla.org/SciTE.html]

SciTeXt
A word processor for systems with a Java interpreter. It functions as a normal word processor and also has special functions and tools for scientific work, e.g. the creation of TeX source output. No versions of the Java version of this have been released as of 9/97.

[http://www.uni-paderborn.de/~SciTeXt/]

SCL
The NIST STEP Class Library is a set of C++ class libraries capable of representing information conforming to the EXPRESS data specification. STEP is a project to develop a standard for representing product information in a common computer-interoperable format, with the information encompassing all parts of the life cycle including design, manufacture, use, maintenance, and disposal. EXPRESS is the language in which this information is to be represented.

The SCL components include:

  • fedex_plus, for parsing an EXPRESS file and generating a C++ class library representation based on the STEP Data Access Interface (SDAI) C++ language binding;
  • fedex_idl, for translating EXPRESS into IDL based on the SDAI IDL language binding;
  • fedex_os, for parsing an EXPRESS file and generating the C++ code needed to add persistence to the classes output from fedex_plus;
  • mkProbe, generates a Data Probe editor/schema browser from an EXPRESS file;
  • the STEP core library providing STEP-related functionality including early- and late-bound attribute access, reading/writing of STEP Part 21 files, implementations of EXPRESS base types, etc.;
  • a data acces interface library providing a partial implementation of the SDAI Session Schema;
  • an editor library implementing the functionality associated with an editor for instances of entities defined in EXPRESS;
  • a utils library providing generic C++ functionality;
  • an ivfasd library providing general purpose InterViews user interface objects;
  • a probe-ui library providing InterViews user interface objects for implementing an EXPRESS editor;
  • fedex, a syntax and semantic checker for EXPRESS; and
  • exppp, a pretty printer for formatting EXPRESS documents.

Source code distributions of the SCL are available upon completion of an online request form. Documentation includes several technical reports available in PostScript format.

[http://www.mel.nist.gov/msidstaff/sauder/SCL.htm]

SCM
A Scheme interpreter written in C.

[http://ftp-swiss.ai.mit.edu/~jaffer/SCM.html]

SCMS
The SMILE Cluster Management System is an extensible management tool for Beowulf clusters. It provides a large set of tools that allow sysadmins to monitor, submit commands, query system status and maintain system configuration. The system management utilities include those for:
  • showing the status of nodes;
  • accessing any node control panel;
  • showing the disk space of nodes;
  • FTP and Telnet to nodes;
  • showing the filesystems of nodes;
  • showing the process status of nodes;
  • rebooting nodes;
  • centralizing package management;
  • shutting down nodes;
  • checking users on nodes; and
  • showing the status of the motherboards on nodes.

Several parallel UNIX commands are also available for performing various tasks:

  • pcat, for concatenating or viewing files;
  • pcp, for distributing files to nodes;
  • pexec, for executing commands on nodes;
  • pfind, for finding files on nodes;
  • plps, for finding processes using the process name;
  • pkill and pkillu, for killing processes by name and user name;
  • pls, for listing files in clusters;
  • pload, for reporting loads in clusters;
  • pmv, for moving files;
  • ppred, for executing commands on multiple nodes;
  • pps, for displaying process information on all nodes;
  • prm, for removing file(s) on cluster nodes; and
  • ptest, for testing conditions on multiple nodes.

[http://smile.cpe.ku.ac.th/research/]

SCNN
The Simulating system for Cellular Neural Networks is a universal simulating system for analog processing neural networks with regular and local interconnections. CNN are governed by sets of nonlinear ordinary differential equations and realized as VLSI chips which operate at very high speeds. The features of SCNN include:
  • arbitrary numbers of layers and grid sizes;
  • discrete time stepping;
  • several calculating methods including Euler's method, the Runge-Kutta method, and a recursive method;
  • a choice of output function sincluding piecewise linear, sigmoid, threshold, or user defined;
  • translation invariant or variant templates;
  • linear and nonlinear templates;
  • variable signal delays;
  • a choice of output file formats; and
  • a choice of training methods including RBP and RPLA (with variable step size).

Binary versions of SCSS are available for both Intel Linux and IBM AIX platforms. They can be obtained after the completion of an online registration form. A user's manual is available in the distribution.

[http://apx00.physik.uni-frankfurt.de/e_ag_rt/cnn/SCNN/homepage.html]

SCore
A high performance parallel programming environment for workstation and PC clusters. The SCore Cluster System Software consists of the following components:
  • PM II, a low-level communication library for cluster computing with drivers for Myrinet, Ethernet, UDP and Shmem;
  • SCore-D, a user-level global operating system for using cluster resources such as processors and networks;
  • SCASH, a software distributed shared memory (DSM) system that uses PM II and employs the Lazy Release Consistency model with both update and invalidate protocols;
  • MPICH-SCore, a high performance version of MPI based on the MPICH library using PM II for interprocess communication;
  • MPC++, a multi-threaded version of C++ using templates that provides synchronous/asynchronous remote function invocation, synchronization structures, global pointers, and other functionality;
  • SCOUT, a program providing an SIMD-style remote UNIX shell environment.

The features provided by this version of SCore include:

  • a single system image that makes it transparent to users whether they're on a single machine or a cluster;
  • support for communications via a variety of network protocols;
  • a seamless programming environment, e.g. an Hmake command enabling users to compile a program on heterogenous computers;
  • the MPC++ Multi-Threaded Template Library (MTTL) allows programs to run in a heterogeneous environment without code modications;
  • multiple parallel programming paradigms including message passing, shared memory, and multi-threaded;
  • a real-time process activity monitor;
  • automatic deadlock detection;
  • automatic attachment of the GDB debugger when an exception signal is detected;
  • pre-emptive checkpointing;
  • parallel process migration; and
  • simultaneous multiplexing of parallel processes in both the space and time domains.

A source code distribution of SCore is available. It runs on several platforms including Linux Intel. Documentation is scattered about in the form of various manuals and technical reports.

[http://pdswww.rwcp.or.jp/]

SCOTCH
A software package for static mapping and graph partitioning. It is the product of the SCOTCH project to study static mapping by the means of graph theory using a divide and conquer approach. It can map any weighted source graph onto any weighted target graph or even onto disconnected subgraphs of a given target graph. Other features include a running time linear in the number of edges of the source graph and logarithmic in the number of vertices of the target graph, easy interface with other programs due to its vertex labeling capabilities, and several tools to build, check and display graphs.

The source code is available and is currently supported on IBM AIX, Linux, SGI and Sun Solaris and SunOS platforms. The documentation is contained within a 33 page user's guide in PostScript format.

[http://dept-info.labri.u-bordeaux.fr/~pelegrin/scotch/]

Scotty
A Tcl/Tk-based package for network management applications, i.e. it allows the implementation of site-specific network management software using high-level, string-based APIs which simplifies the development of portable network management scripts. The distribution contains two main components: the Tnm Tcl extension which provides access to network management information sources; and the Tkined network editor which provides a framework for an extensible network management system.

The network protocols supported by the Tnm extension include:

  • SNMP (SNMPv1, SNMPv2c, and SNMPv2u including access to MIB definitions);
  • ICMP (echo, mask, timestamp, and udp/icmp traceroute requests);
  • DNS (a, ptr, hinfo, mx, and soa record lookups);
  • HTTP (server and client side);
  • SUN RPC (portmapper, mount, rstat, etherstat, pcnfs services);
  • NTP (version 3 mode 6 request); and
  • UDP (sending and receiving datagrams).
Additional commands supplied to simplify the implementation of network management applications include:
  • netdb to access to local network databases;
  • syslog to send messages to the local system logging facility; and
  • job to simplify the implementation of monitoring and control procedures that need to be scheduled at regular intervals.
The Tkined editor can be used to manage networks by: monitoring the status of computers, hubs and routers; interrogating TCP/IP systems for useful information; and graphically representing networks and nodes via the capabilities of Tk.

The Scotty package is available as source code and requires only a C compiler and Tcl/Tk for installation. It comes with a GNU autoconfig script to ease installation. The primary source of documentation is the man pages provided with the distribution, although HTML versions of these pages are also provided. Some tutorial and report documents are also available in HTML and/or PostScript format.

[http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/]
[ftp://netlab-c.mscs.mu.edu/scotty/]

SNMPD
An SNMP daemon written using Tcl in the Scotty environment.

[http://geekcorp.com/snmpd/]

SNMP Monitor Ex
An extension to Scotty with several additional features.

[http://geekcorp.com/snmpmonitor/]

Scout
A communication-oriented operating system targeted at network appliances (e.g. network-attached devices, set-top boxes, hand-held devices, etc.). Scout runs stand-alone on Alpha and Pentium processors and is hosted from Linux using GNU tools. The characteristics needed for a network appliance OS that require rethinking standard OS concepts include:
  • I/O handling as the primary function which makes it a good idea to structure the OS around communication-oriented abstractions rather than the usual computation-centric abstractions (e.g. processes, jobs, tasks);
  • provision of a general framework that can be specialized or configured for particular needs rather than a general purpose OS that doesn't offer exactly the right functionality; and
  • predictable performance with scarce resources, e.g. the OS must pay attention to the behavior of the system under load in the light of the need to support realtime performance.
Scout addresses these issues by:
  • being designed around a novel communication-oriented abstraction called a path which is an extension of a network connection into the host OS;
  • configurability wherein an instance targeted for a particular network appliance is generated from a collection of building-block modules; and
  • including scheduling and resource allocation mechanisms that offer predictable performance under load.

The path abstraction also plays a role in the other issues. Paths expose global context that various optimization techniques can exploit for specialization, i.e. it achieves specialization through configurability with the resulting modular system optimized on a path-by-path basis. As regards resource management, all scheduling decisions are made on a per-path basis, i.e. Scout allocates to a given path all the resources it needs to provide the same quality of service as is supported by the network connection. Scout also uses small languages to generate diverse collections of specialized network appliances. These are special-purpose languages used to specify some component of Scout from which OS code can be automatically generated. Thus all components need not be implemented from scratch but can be generated according to the specific needs of an appliance.

In addition to the basic OS capabilities, the Scout distribution contains the modules and files needed to build several network appliances including:

  • NetTV, which decodes and displays MPEG-compressed video streams;
  • NetCAM, which captures frames from a video source, compresses them, packetizes the frames, and transmits them;
  • IP Router with QoS Support, which supports IETF-defined Guaranteed and Controlled-Load service classes and includes multiple packet scheduling algorithms;
  • HTTP Firewall, a firewall specialized for HTTP traffic whose goal is to limit the access of traffic to/from a protected network and limit the data flows within the firewall itself;
  • Joust, a small and fast JavaOS which includes an efficient Java virtual machine and a JIT compiler;
  • Test Kernel, which exercises a TCP/IP protocol stack; and
  • NetBoot, used to boot other kernels on Pentiums.

A source code distribution of the Scout OS is available which requires Toba for the Java components. The supported hardware is listed at the site. The system is documented in various technical reports and papers.

[http://www.cs.arizona.edu/scout/]

SCPACK
The Schwarz-Christoffel PACKage is a Fortran package for the numerical implementation of the Schwarz-Christoffel (S-C) conformal map from the interior of a unit disk in the complex plane. The image polygon may have vertices at infinity so it is really any simply-connected region in the plane whose boundary consists of a finite number of straight lines. The conformal map can be applied to many types of problems involving a polygonal domain, e.g. Laplace's equation with Dirichlet, Neumann, or mixed boundary conditions; solving Poisson's equation; finding eigenvalues of the Laplace operator; hodograph computations for ideal free-streamline flow; and grid generation. SCPACK contains routines to solve the parameter problem associated with the S-C map (SCSOLV), to evaluate the resulting S-C map (WSC), and to evaluate its inverse (ZSC). The S-C approach is good for the conformal mapping of a polygon because it handles the singularities at corners exactly and reduces the map to a finite number of parameters, but it is not recommended for mapping curved domains by means of polygonal approximations since much better methods exist for the latter.

The SCPACK distribution is available as source code. All 19 suboutines are written in Fortran 77 and are documented in an ASCII user's manual as well as in comment statements contained within the source code files. See Trefethen (1980).

[http://www.netlib.org/conformal/]

sC++
A language which enhances C++ with some new keywords which define active objects and synchronization primitives in a way that preserives the philosophy of object oriented programming. An sC++ compiler produces code which is linked with a run-time library to produce multithreaded code running within a UNIX process.

The library consists of several different classes including:

  • a Collection class;
  • a CppUtils class containing general classes and templates;
  • a GUI class which encapsulates a large part of the functionalities
  • of Motif and X into active objects;
  • a 2-D geometry library;
  • a Graph library;
  • a Matrix library;
  • a Signal library containing an active object abstraction of the UNIX signal concept; and
  • a Socket library containing abstracts of UNIX TCP sockets, UDP connection-oriented sockets, and UNIX socket primitives.

Separate distributions of the sC++ package are available for Linux and Sun/DEC machines. There is extensive online documentation for the compiler and libraries as well as several technical reports available in PostScript format.

[http://ltiwww.epfl.ch/sCxx/index.html]

Screamer
An extension of Common Lisp that adds support for nondeterministic programming. It consists of two levels: a basic nondeterministic level which adds support for backtracking and undoable side effects and, on top of this, a nondeterministic substrate. Screamer provides a comprehensive contraint programming language on top of this substrate in which mixed problems of numeric and symbolic constraints can be formulated and solved. This extension provides Common Lisp with most of the functionality of both Prolog and various constraint programming languages.

The source code for Screamer is available. Is is portable across most Common Lisp implementations and is known to run under AKCL and CMUCL. A user's manual and a technical paper describing Screamer are included in the distribution in PostScript format.

[http://www.cis.upenn.edu/~screamer-tools/home.html]

SCRIP
The Spherical Coordinate Remapping and Interpolation Package computes addresses and weights for remapping and interpolating fields between grids in spherical coordinates. It supports four kinds of remappings:
  • a conservative remapping scheme ideally suited to a coupled model context where the area-integrated field must be conserved;
  • a basic bilinear interpolation scheme slightly generalized to perform a local bilinear interpolation;
  • a bicubic interpolation similar to the bilinear method; and
  • a distance-weighted average of nearest-neighbor points.
The blinear and bicubic schemes can only be used with logically rectangular grids, while the others can be used for any grid in spherical coordinates. The source code is freely available, and requires a Fortran 90 compiler and NetCDF for compilation. A user's guide is available in PostScript format.

[http://www.acl.lanl.gov/climate/software/SCRIP/SCRIPmain.html]

scripting language
Scripting languages are those that are primarily interpreted and which can be directly executed from a text file using the standard #! construct. Scripting languages or packages that contain some form of scripting language include:

Scriptum
A graphical-based text editor. The features include visual enhancements to improve source code readability, powerful navigation and browsing commands, edition commands including keyword completion, blocking indenting, scope selection, etc., multi-level undo/redo, a definition browser (for C, C++ and Java at present), a graphical class browser for the same suspects, integration with RCS/SCCS for version management, file locking features, remote editing via the FTP protocol, folding, configurability, and built-in configurations for YACC/Bison, lex, C, C++, Eiffel, Lisp, Scheme, Java, Perl and HTML. The present version (5/96) is free.

[http://www.scriptum.org/]
[http://graficadigital.com/websites/InterSoft/html/products/scriptum.html]

ScriptWriter
A word processor specifically modified for writing scripts in the official formatting style. This is a modified version of AbiWord.

[http://www.freefilm.cx/ScriptWriter/]

SCRUM
The S-Coordinates Rutgers University Model is an ocean circulation model that solves the free surface, hydrostatic, primitive equations over variable topography using stretched terrain-following coordinates in the vertical and orthogonal curvilinear coordinates in the horizontal. The model equations are solved separately for total momentum and vertically integrated momentum and then coupled. The total momentum and tracer equations are discretized in time using a third-order Adams-Bashforth scheme with the vertical viscosity/diffusion terms treated implicitly with a Crank-Nicolson scheme. The free surface and vertically integrated momentum equations are discretized in time with a trapezoidal leapfrog scheme, and the horizontal and vertical derivatives are evaluated with finite differences on a staggered horizontal C-grid and a staggered vertical grid.

The additional features of SCRUM include:

  • a vertical staggered grid;
  • optional horizontal and vertical Smolarkiewicz advection;
  • rotating mixing tensors which mix on constant z-surfaces and constant in-situ density surfaces;
  • several available vertical turbulence closure schemes;
  • a coupled bottom boundary layer model;
  • Lagrangian drifters;
  • analytical and data driven packages for initial conditions, boundary conditions, and forcing functions;
  • analytical test examples;
  • input and output files via NetCDF;
  • a coupled sea-ice model;
  • grid generation and land/sea mask packages;
  • a data assimilation scheme; and
  • a coupled biological model.

The source code for SCRUM is available. It is written in Fortran 77 and is configured to compile with several Fortran compilers