Last checked or modified: Oct. 17, 1997
- Snapix
- A set of tools designed for the creation of interactive
applications under Unix, X and Motif. It consists of an editor,
an interpreter/compiler, a driver and an object oriented language.
The editor makes it easy to define the visual appearance of an
application, with all the tasks associated with specifying an
interface (e.g. designing input forms and dialog boxes, selecting
fonts, etc.) quick and simple. The driver is supplied with over
20 pre-defined classes including some high-level classes like
menus, and it can also handle user-defined classes. The language
is complete, typed, structured, event driven and object oriented.
Additional features include the possibility of modular application
design, manual code generation with a standard editor or automatic
code generation using an interactive editor, version management
under SCCS, code maintainability and rapid modification,
pre-compilation for fast run times and source protection,
use of C-like syntax, and integration of user defined C functions
using standard calls. A Linux version is freely available and
comes with 110+ page manual in
PostScript format.
[http://sunsite.unc.edu/pub/Linux/X11/devel/builders/]
- snd
- A sound editor based loosely on Emacs
and a PDP-10 sound editor named Dpysnd which is currently
an X/Motif application.
It can accomodate any number of sounds at once, each with any
number of channels. Each channel of each sound is displayed in
its own window with its own cursor, edit history, and
marks. Each sound as a control panel to try out various changes
quickly, and an expression parser usedly mainly during searches.
There is an overall stack of regions which can be browsed and
edited, and channels and sounds can be grouped together during
editing. Edits can be undone and redone without limit and snd
can be customized using an Elisp-like syntax. It can also be
extended with user-supplied editing or display functions loaded
at run time.
Snd is available as source code or as a binary for SGI and
Linux Intel platforms. It is written in ANSI C and requires
the Motif widget set for compilation.
It is documented in a user's manual in HTML format which is
included in the distribution.
This is useful by itself but can also be used with the
CLM package.
[http://www-ccrma.stanford.edu/CCRMA/Software/snd/snd.html]
- SNDAN
- A package of signal analysis, graphics, modification, and
synthesis routines for UNIX systems.
One group of programs performs analysis and converts sound
files into analysis files which contain data for the amplitudes
and frequences of components within the file.
Another group contains programs for viewing the data in either
signal or analysis format.
Another group contains programs to modify the analysis data,
and the final group programs to synthesize signal files from
the analysis data.
The programs assume that sound files are in monaural NeXT
sound file format, although the SoX package
can be used to convert other formats to this.
Graphics files are output in EPS format.
The programs available in SNDAN include:
sp, which graphs sound files;
sextract, which extracts individual sounds from a sound file
containing a sequence of sounds and puts them in separate files;
pvan, which performs phase vocoder analysis;
mqan, which performs spectral tracking analysis;
monan, which combines the activities of parameter viewing,
modification, and additive synthesis.
A source code distribution of SNDAN is available.
It is written in C and has been compiled successfully on
several systems including Linux Intel.
[http://cmp-rs.music.uiuc.edu/cmp/software/sndan.html]
- SNePS
- The Semantic Network Processing System
is a system for building, using, and retrieving from propositional
semantic networks.
A semantic network can be thought of as a labeled directed graph
in which nodes represent entites, arc labels represent binary
relations, and an arc labeled R going from node n to node m means
that n bears the relation R to m.
SNePS is a propositional semantic network because every proposition
represented in the network is represented by a node and not by an arc.
The core of SNePS is a system for building nodes in the network,
retrieving nodes that have a certain pattern of connectivity to other
nodes, and performing housekeeping tasks like dumping a network
to a file or loading a network from a file.
The major components which comprise SNePS are:
- SNIP (SNePS Inference Package), which interprets certain nodes
as representing reasoning rules called deduction rules and supports
a variety of specially designed propositional connectives and
quantifiers and performs a kind of combined forward/backward
inference called bi-directional inference;
- SNeBR (SNePS Belief Revision System), which recognizes
when a contradiction exists in the network and interacts with the
user when it detects the user operating in a contradictory belief space;
- SNaLPS (SNePS Natural Language Processing System), which consists
of a morphological analyzer, a morphological synthesizer, and
a Generalized Augmented Transition Network (GATN) Grammar interpreter
and compiler, all of which allow natural language interfaces for
SNePS to be built;
- SNePSUL, (SNePS User Language), the standard command language
for SNePS which resembles Lisp;
- XGinseng, an X Window-based graphical
editing and display environment for SNePS networks which can be
used to build and edit networks; and
- SNePSLOG, a logic programming interface to SNePS which provides
direct access in a predicate logic notation to almost all of the
facilities provided by SNePSUL.
A source code distribution of SNePS is available.
It is written entirely in Common Lisp
and has been used successfully with both CLISP
and CMUCL.
It may also work with AKCL and
Allegro CL.
The program and its use are documented in a 94 page
user's manual available in PostScript
format.
[http://www.cs.buffalo.edu/pub/sneps/WWW/]
- snes
- An emulator for the
Super Nintendo Entertainment System (SNES) for Linux
SVGA and X. It is currently (5/98) under development but
plans on including features such as SuperFX support,
sound digital FIR filter and echo, sound pitch modulation,
mouse and multi-tap support, 8- and 16-bit color screen
modes, transparency, hi-res and interlaced screen modes,
improved ROM detection routines, and more.
An older version is available at the second URL.
[http://www.euronet.nl/users/jkoot/snes9x/]
[http://sunsite.unc.edu/pub/Linux/system/emulators/
]
- Sniffit
- A packet sniffer which supports both Ethernet and PPP.
See the related TOD.
[http://reptile.rug.ac.be/~coder/sniffit/sniffit.html]
- SNLS1E
- A Fortran 77 subroutine package which solves nonlinear least
squares problems, i.e. it minimizes a sum of squares of M nonlinear
functions of N variables.
It also contains programs for solving systems of nonlinear equations
which can be used separately.
The package consists of:
- SNLS1, which minimizes the sum of the squares of M functions
in N variables using a modification of the Levenberg-Marquardt
algorithm with the user providing a subroutine to calculate the functions
(and optionally the full Jacobian);
- SNLS1E, an easy-to-use version of SNLS1;
- SNSQ, which finds a zero of a system of N nonlinear equations
in N variables using a modification of the Powell hybrid method with
the user supplying a subroutine to calculate the functions (and
optionally to calculate the full Jacobian);
- SNSQE, an easy-to-use version of SNSQ; and
- SOS, which solves a system of N simultaneous nonlinear
equations in N unknowns based on an iterative method which is
a variation of Newton's method using Gaussian elimination in a manner
similar to the Gauss-Seidel process.
A source code distribution of SNLS1E is available.
All of the routines are written in Fortran 77 and are documented
via comment statements contained within each source code file.
This is part of CMLIB.
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- SNMP
- The Simple Network Management Protocol
is a protocol for Internet network management services.
It facilitates communication between a managed device, i.e. a
device with an SNMP agent, e.g. a router, and an SNMP manager
or management application.
Communication is via SNMP protocol data units (PDUs) typically
encapsulated in UDP packets, with various operations permitted
between managers and agents to either handle objects on the
managed device or notify the manager about events occurring on the device.
An SNMP manager obtains information about the available objects
on a managed device via Management Information Base (MIB)
modules. An MIB file contains a description of the object
hierarchy on the managed device as well as the name, syntax,
and access priveleges for each variable in the MIB, i.e. only
the types of objects are specified and not the specific objects.
It is basically an enormous tree which provides a map for
locating information.
There is only one official SNMP MIB, although other kinds of MIBs
exist which are extensions to the official SNMP MIB.
The standard implementation of SNMP for Linux platforms
is CMU SNMP, much more about which can be found in the
User's Guide to SNMP for Linux
.
Programs for SNMP administration include
btng,
OSIMIS,
Scion,
Scotty,
SNMX, and
WILMA.
The available literature on SNMP is vast, e.g.
see
Black (1995),
Comer (1991),
Comer and Stevens (1991),
Comer and Stevens (1993),
Feit (1994),
Griffith and Hein (1994),
Halsall (1996),
Leinwand and Fang (1993),
Miller (1993),
Perkins and McGinnis (1997),
Rose (1994),
Rose and McCloghrie (1995),
Stallings (1993),
Stevens (1994),
Taylor (1996), and
Townsend (1995).
- SNMPY
- An interface to SNMP for
Python.
[http://alumni.dgs.monash.edu.au/~anthony/snmpy/snmpy.html]
- SNMX
- The Simple Network Management eXecutive
is a self-contained SNMP manager,
extensible SNMP agent, scripting language,
and development environment which allows users to rapidly create
SNMP applications. The program provides a shell-like command
line interface which presents the SNMP MIB as a series of
virtual directories which can be traversed using standard
cd commands and listed with the ls command. The scripting
language can be used to create SNMP interactive and background
applications including SNMP agent processes.
SNMX can be used as:
- an administrative tool, i.e. it is a full-featured
MIB browser providing numerous functions allowing users to explore
the structured management information on a device;
- an element configurator since it allows an entire MIB to be listed
to a disk file, potentially edited, and then put back on the network
device;
- a network scanner useful for making comparative measurements of
network devices, e.g. a built-in agent table (as part of its private
MIB) allows a variety of scanning and charting operations; and
- a network configurator, i.e. multiple network devices and be updated
with a single commmand.
Scripts can be constructed to poll devices, check network
performance, and issue traps when network anomalies are detected.
Agent scripts can be built to provide SNMP compatibility with existing
systems or processes including such applications as instrumenting queues and
controlling network graphical systems.
SNMX is freely available to individuals and organizations with
the base distribution containing an SNMX interpreter, a MIB
compiler, and several examples of management and agent scripts.
Extensive documentation is provided in several large manuals
in ASCII format.
[http://www.cpro.com/cpro/html/cpro_snmx.html]
- SNNAP
- The Simulator for Neural Networks and
Action Potentials is a tool designed for the
rapid development and simulation of realistic models of
single neurons and small neural networks.
The electrical properties of individual neurons are
described with Hodgkin-Huxley type voltage- and time- dependent ionic
currents. The connections among neurons can be made by either electrical
or chemical synapses. The chemical synaptic connections are capable of
expressing several forms of plasticity, such as homo- and heterosynaptic
depression and facilitation.
SNNAP also includes mathematical descriptions of intracellular second
messengers and ions. The synthesis of second messengers can be driven by
either synaptic inputs or by externally applied transmitters. The
accumulation of an ion can be driven by any specified voltage- and time-
dependent ionic current(s). The intracellular concentrations of ions
and/or second messengers, in turn, can be linked to one or more ionic
conductances and/or mechanisms contributing to chemical synaptic
transmission. Thus, SNNAP can simulate the modulation, either
enhancement or inhibition, of membrane currents and synaptic
transmission. SNNAP also can simulate current flow in multicompartment
models of neurons by using the equations describing electrical coupling.
The features of SNAPP include:
the specifics of all intrinsic neuron properties, network structures,
and simulation properties can be controlled using editors in a GUI
framework;
the capability of simulating common experimental manipulations, e.g.
the injection of external currents into multiple cells, the
removal of individual conductances to simulate pharmacological
agents, etc;
and the modular organization of all input files, i.e. the equations
and related parameters are passed to SNNAP via files generated by
the graphical editors which allows for the creation of a library of
modules for describing different aspects of neural networks.
A source code distribution of SNNAP is available.
It is written in ANSI C using Xlib functions
and is thus portable to most UNIX/X11 environments.
A user's manual is available in
PostScript format.
[http://nba19.uth.tmc.edu/~snnap/home.htm]
- SNNS
- The Stuttgart Neural Net Simulator
is a software simulator for neural nets which runs on UNIX workstations.
The goal of the project is to create an efficient and flexible
simulation environment for research on and the application of
neural networks.
SNNS consists of a simulator kernel and a graphical interface.
The simulator kernel operates on the internal network data
structures of the neural nets and performs all operations of
learning and recall, and it can also be used as an embedded
program in custom applications.
It supports arbitrary network topologies and can be extended by
the user with user-defined activation functions, output functions,
site functions, and learning procedures which are written as
C programs and linked to the kernel.
The graphical interface controls the kernel during the simulation
and gives 2- and 3-D representations of the networks being simulated.
The network architectures and learning procedures included in
SNNS include:
backpropagation (BP) for feedforward networks (i.e. vanilla BP, BP
with a momentum term and flat spot elimination, and batch BP),
counterpropagation, quickprop, backpercolation 1, RProp,
generalized radial basis functions (RBF),
ART1 and ART2, ARTMAP, cascade correlation, recurrent cascade
correlation, dynamic LVQ, backpropagation and quickprop through
time (for recurrent networks), self-organizing (Kohonen) maps,
time-delay networks (TDNN) with backpropagation, Jordan
networks, Elman networks and extended hierarchical Elman networks,
and associative memory.
A genetic algorithm tool called Enzo is separately available
which allows the evolutionary optimization of neural networks.
A tool called snns2c automatically generates C code from
nets built interactively.
The source code for SNNS is available. It is written in C
and has been tested on Sun SunOS, DEC Ultrix and Alpha,
IBM AIX, HP-UX, SGI IRIX, and Linux Intel platforms.
The huge user's manual is available in either PostScript
or HTML format.
[http://www.informatik.uni-stuttgart.de/ipvr/bv/projekte/snns/snns.html]
- Snob
- A package which uses the Minimum Message Length (MML) principle
to to mixture modeling, which concerns modeling a statistical
distribution by a mixture (or weighted sum) of other
distributions and is also known as unsupervised concept
learning, intrinsic classification, clustering, and
numerical taxonomy.
Snob can use several distributions, e.g. normal (i.e. Gaussian),
discrete multi-state (i.e. Bernoulli or categorical),
Poisson, and von Mises distributions, and can also handle
missing data.
The source code for Snob, written in Fortran
77, is available.
It is documented in a ASCII user's guide as well as in several
papers and technical reports available in PostScript format.
See also AutoClass C.
[http://www.cs.monash.edu.au/~dld/Snob.html]
- SNOBOL
- The StriNg Oriented symBOLic language is
an unconventional programming language based on logical principles
of pattern matching to solve string manipulation problems.
It features a powerful collection of string processing and
pattern matching functions.
SNOBOL was developed at Bell Labs in 1962 to develop applications
in symbolic formula manipulation. Improved versions called
SNOBOL3 (1966) and SNOBOL4 (1969) were later developed, with
active development on the language stopping with SNOBOL4.
It was initially developed for formula manipulation but
was extended to perform graph processing and text manipulation
tasks, with the primary objective being to provide a general purpose
language for the manipulation of non-numerical scientific data that
can be naturally represented by strings of characters.
Another significant design criteria was to develop a language
suitable for use by non-programmers.
An available compiler is SNOBOL4.
[http://www.tiac.net/users/philb/snobol.html]
- SNOBOL4
- A port of Macro SNOBOL4 (i.e. the original Bell Labs implementation
written in SIL macros) to machines with 32-bit C compilers.
It supports the full SNOBOL4 language plus extensions from
Catspaw SNOBOL4+, SPITBOL, and SITBOL.
All aspects of the language are implemented except the
trapping of arithmetic exceptions and the dynamic use
of LOAD() platforms not using the a.out executable format.
It has been tested on most UNIX flavors.
See Gimpel (1976),
Griswold et al. (1971),
Griswold (1972), and
Griswold (1975).
[http://www.tiac.net/users/philb/src.html]
- SNP
- The SemiNonParametric software is a package
for multivariate nonparametric time series analysis by maximum
likelihood polynomial expansion which permits uneven weighting,
non-normality, and nonlinearity.
An extensive user's manual is available in
PostScript format.
[http://lib.stat.cmu.edu/general/]
- SOAR
- Soar is an AI programming language which implements a theory of
cognition as a set of principles and constraints on cognitive
processing, i.e. it provides a cognitive architectural framework
within which cognitive models can be constructed. It can be
considered as an integrated architecture for knowledge-based
problem solving, learning, and interacting with external environments.
It incorporates problem spaces as a single framework for all tasks
and subtasks to be solved, production rules as the single
representation of permanent knowledge, objects with attributes
and values as the single representation of temporary knowledge,
automatic subgoaling as the single mechanism for generating goals, and
chunking as the single learning mechanism. Soar is used by
AI researchers to construct integrated intelligent agents and by
cognitive scientists for cognitive modeling.
Soar is written in C and versions are available for both UNIX
and Mac systems. There is quite a bit of documentation available,
including several tutorials and manuals in PostScript format.
Quite a bit of ancillary software has also been developed.
Browse the several Soar sites to see what's available.
[http://www.isi.edu/soar/soar.html]
- Socket Script
- A simple scripting language for accessing sockets. Socket Script
was designed to provide users with a quick and easy way to make
powerful networking applications without needing to learn C or
complicated socket code. It can be used for such tasks as
retrieving web pages or creating an IRC bot, a web server,
an ICMP water, a network monitor tool, online forms, etc.
It consists of over 80 commands, some simple and some highly
complex.
It can be compiled into text only, Xt
graphics, or GTK graphics modes.
The Socket Script distribution consists of an interpreter,
a compiler, and a C library of Socket Script functions for
those who wish to program in C.
Documemtation is a bit sparse but available in various ASCII
text files within the distribution.
[http://devplanet.fastethernet.net/sscript.html]
- SOCKS
- An open Internet standard for performing network proxies
at the transport layer. This is also known as authenticated
firewall traversal (AFT) and is described
in RFC-1928.
SOCKS is a networking proxy protocol which enables hosts on
one side of a SOCKS server to gain full access to hosts on the
other side of the server without having to create a direct
IP connection. The server authenticates and authorizes
the requests, establishes a proxy connection, and relays the
data. It is most commonly used as a network firewall which
enables those behind it to gain full access to the Internet
and prevents unauthorized access from the outside. There
are two major versions: SOCKS V4 and V5, with the latter
supporting authentication methods and UDP proxy and the former not.
Newer features also allow SOCKS to be used as:
- a network enabler which allows an unstructured and unsecured
enterprise network to safely use the Internet;
- a network broker supporting a wide range of security mechanisms;
a network folder which can collect a group of networks and represent
them as a single node;
- a network keeper which provides a centralized network access
point that facilitates administration; and
- a network master which, as a generic internetworking proxy
mechanism becomes the master of a network.
This (i.e. the NEC) reference implementation of SOCKS
supports all the requirements of RFC-1928 and includes
additional features like
a shared library for UNIX clients,
ping and traceroute proxy,
SOCKS Server-to-Server proxy,
address resolution proxy,
Ident name proxy,
preforking and threading,
and Kerberos-based Server-to-Server proxy.
These features allow SOCKS users to build virtual private
networks (VPN) over the Internet which offer:
one-time sign on,
user-based authentication,
encrypted communication channels,
transparent access across the entire VPN,
centralized network access control and audit,
localization of network administration, and the
masking of the VPN computing environment.
The UNIX SOCKS5 package contains
a socks server, static and
unshared client libraries, and some popular client applications.
It is available in source code format or in binary
format for several UNIX flavors.
Extensive documentation is available at the site and
in the distribution.
This is also covered in Garfinkel and Spafford (1996).
[http://www.socks.nec.com/]
- SoftFloat
- A free, high-quality implementation of the IEC/IEEE Standard for
Binary Floating-point Arithmetic. It is completely faithful
to the IEEE Standard and relatively fast. All functions dictated
by the standard are supported except for conversions to and from
decimal, and both single (32 bits) and double (64 bits) precision
are implemented. All required rounding modes, exception flags,
and special values are supported.
SoftFloat is written in ISO/ANSI C and should compile on any
machine with an ISO-conformant C compiler, e.g. gcc. The package
has been tested using gcc on Intel 386, SPARC, MIPS and
HP Precision Architecture processors.
The SoftFloat distribution includes the source code and documentation.
A test program called FloatTest is also supplied.
[http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/SoftFloat.html]
- Software ChipSet
- A collection of reusable software components written in C.
The goal is to provide small, general, production quality off-the-shelf
solutions to common problems faced by programmers.
The name comes from an analogy to components used in the development
of integrated circuits.
The components of the ChipSet are intended to be general enough to
use in a wide variety of applications.
This goal is reached by providing generalized interfaces and
programmability, with the former permitting the components to be used
with arbitrary data types and the latter permitting the application to
tune the components to its data types and performance requirements at
runtime.
The components are also programmable in that they can be composed into
larger components.
The components of the ChipSet are:
- btree, a in-memory B-tree implementation;
- dupkey, which generalizes in-memory unique key index structures
(i.e. btree and list) to allow redundant keys;
- list, an in-memory doubly-linked list; and
- readln, a component for safe text line input which supports
lines of arbitrary length.
A source code distribution is available. All components are written
in C for maximum portability.
[http://www.sander.cupertino.ca.us/source.html]
- SOLVATE
- A program for constructing atomic solvent environment models for
given atomic macromodule models (solutes) used in molecular dynamics
simulations.
The capabilities of SOLVATE include:
- generation of irregularly shaped solve volumes adapted to a given
solute's structure;
- efficient computation of boundary forces as required in molecular
dynamics simulations;
- a guaranteed minimal solute boundary distance;
- specification of a minimum solvent surface curvature to avoid flat
surface regions;
- generation of disordered (i.e. fluid) water rather than a grid of
water molecules, i.e. ice;
- local minimization of the positions of all water molecules;
- optional placement of salt ions obeying a Debye-Hückel distribution;
- optional placing and marking of buried water molecules; and
- compatibility with X-PLOR and CHARMm with
output in PDB/PSF format.
A source code distribution of SOLVATE is available. It is written
in Fortran and can be compiled on most generic UNIX platforms.
A user's manual is included in PostScript format.
[http://www.mpibpc.gwdg.de/abteilungen/071/solvate/docu.html]
[ftp://ftp.osc.edu/pub/chemistry/software/SOURCES/FORTRAN/solvate/
]
- SOMA
- Stefan's Own Mail Application
is a mail reader (i.e. a
mail user agent) for Linux
under X11 based on the XView library
which provides an OpenLook user interface.
[http://sunsite.unc.edu/pub/Linux/system/mail/mua/]
- SoPlex
- The Sequential Object-oriented simPLEX class
library is a C++ library of primal and dual simplex algorithms
for solving linear programming problems.
It consists of
elementary classes for general purposes,
linear algebra classes providing basic data types for regular
and sparse linear algebra computations, and
algorithmic classes implementing a wide variety of algorithms
for solving numerical problems and subproblems.
The elementary classes include Array, CmdLine,
DataArray, DataHashTable, DataSet,
IdElement, IdList, IsElement,
IsList, NameSet, Random, and Timer classes
as well as classes for data objects and sorting functions.
The linear algebra classes include those for dynamic index sets,
dynamic sparse vectors, dynamic vectors, index sets, LP columns,
sets of LP columns, sets of LP rows, semi-sparse vectors, parts
of semi-sparse vectors, sparse vectors, sparse vector sets,
sparse unit vectors, vectors with updates, and dense vectors.
The algorithmic classes are divided into several categories including
general, pricer, ratio test, simplifier, start basis, and
linear system solver classes.
The general classes include:
- LPSOlver, an interface class for LP solvers;
- CacheLPSolver, an LP solver with result caching;
- SoPlex, a sequential object-oriented simplex solver;
- SPxBasis, a simplex basis;
- SPxSolver, a preconfigured SoPlex LP solver;
- SPxLP_SPxColId, IDs for LP columns;
- SPxLP_SPxRowId, IDs for LP rows;
- SPxLP_Id, generic IDs for LP rows or columns;
- SPxLP, for saving LPs in a form suitable for SoPlex; and
- SPxTCL, a TCL interpreter for SoPlex.
The pricer classes include:
- SPxPricer, a SoPlex pricer base class;
- SPxWeightPR, for weighted pricing;
- SPxSteepPR, a steepest edge pricer;
- SPxDefaultPR, a default pricer;
- SPxParMultPR, for partial multiple pricing; and
- SPxHybridPR, a hybrid pricer for SoPlex.
The ratio test classes are:
- SPxRatioTester, a SoPlex ratio test base class;
- SPxDefaultRT, a textbook ratio test for SoPlex;
- SPxHarrisRT, for Harris pricing with shifting; and
- SPxFastRT, a fast shifting ratio test.
The simplifier classes are:
- SPxSimplifier, an LP simplification base class;
- SPxScale, for LP scaling;
- SPxRedundantSM, to remove redundant rows and columns;
- SPxRem1SM, an LP simplifier for removing singletons;
- SPxAggregateSM, to remove redundant rows and columns; and
- SPxGeneralSM, for general LP preprocessing.
The start basis classes include:
- SPxStarter, a SoPlex start basis generation base class;
- SPxSumST, a simple heuristic SPxStarter;
- SPxWeightST, a weighted start basis; and
- SPxVectorST, a solution vector based start basis.
The linear system solver classes are
- SLinSolver, a sparse linear solver virtual class base; and
- SLUFactor, a sparse LU factorization class.
A source code distribution of SoPlex is available.
It is written in C++ and includes a user's guide
in PostScript format.
It is available by filling in an interactive form at
the site.
[http://www.zib.de/Optimization/Software/Soplex/index.html]
- sound
- There are many packages for synthesizing, editing, annotating,
and doing various other things with sound.
Sound synthesis packages include
Sound editors include:
Music notation editors include:
Available MIDI software includes:
Miscellaneous other available sound-related software includes:
- BashFest,
- Cecilia,
- Cthugha,
- CyberRadio,
- Drumachine,
- Midi2Cs,
- OSS,
- Q-SeeMe,
- SFS,
- SNDAN,
- Space,
- SoX, and
- SPKit.
[http://www.bright.net/~dlphilp/linux_soundapps.html
]
[http://www.digiserve.com/ar/linux-snd/
]
- SoX
- Sound Exchange is a sound file converter which also
does sample rate conversion and some sound effects.
The sound file formats understood by SoX include various
binary formats, raw textual
data, Microsoft Windows .WAV files, MAUD files, Sound Blaster .VOC files,
IRCAM SoundFile files, SUN Sparcstation .au files, DEC .au files,
Apple/SGI AIFF files, CD-R (music CD format), Macintosh HCOM files, Sounder
files, NeXT .snd files, SUN ADPCM (compressed) .au files, Soundtool (DOS)
files, and Psion (palmtop) A-law files.
The sound effects include changing the sample rate, adding echo delay lines,
applying low-, high, and band-pass filtering, examining sample loops and
grabbing the looped parts, translating between stereo and monophonic channels
reversing a sample, adding
masking noise to avoid buzzing voices, and the Fender Vibro effect.
A source code distribution of SoX is available.
It is written in C and should compile
on most UNIX platforms.
Its use is documented on the site as well as in the
distribution.
[http://www.spies.com/Sox/]
- SP
- An SGML system conforming to
International Standard ISO 8879. It is a free, object-oriented
toolkit for SGML parsing and entity management.
The features of SP include:
- nsgmls, a program which parses and validates an
SGML document whose entity is specified by system identifiers
and prints to standard output a simple text representation of
its Element Structure Information Set (ESIS);
- spam, a markup stream editor;
- sgmlnorm, a normalizer which focuses on producing
the same ESIS rather than preserving details of the markup;
- access to all the information about an SGML document, e.g.
to DTD and SGML declarations as well as document instance,
to markup as well as abstract document, etc., sufficient
to recreate an identical copy of any SGML document;
- support for almost all optional SGML features, e.g. arbitrary
concrete syntaxes, SHORTTAG, OMITTAG, RANK, SUBDOC,
LINK, etc.;
- a sophisticated entity manager which supports ISO/IEC 10744
Format System Identifiers, SGML Open catalogs, and WWW and
can be used independently of the parser;
- support for multi-byte character sets, e.g. ISO/IEC 10646
Unicode, Japanese character sets (Shift-JIS, EUC), etc.; and
- production quality tested using several SGML test suites.
The SP distribution is available as source code. It is
written in C++ which can be compiled using gcc 2.7.2 or
later. Binary versions are also available for MS-DOS,
Linux Intel, DEC Alpha, Sun Solaris, and Windows NT and 95
platforms.
[http://ftp.jclark.com/sp/]
- Space
- A program which spatializes sound using a script by placing and
moving mono sound files using 3-D coordinates.
It will render the same script in stereo, Ambisonics, or
in crude mono.
The features of Space include:
- the use of delay lines to correspond to the distance the sound
is from the listener;
- the use of low-pass filtering and the inverse-square law to further
process the signal as it travels long distances;
- the capability for sounds to stay motionless, move in straight lines,
or in long arcs;
- the capability of mixing in pre-spatialized sound files which are
in the same format as the output;
- the use of Angled Cardiod Virtual Microphones to record the two
signals used for stereo;
- the inclusion of Ambisonic decoding equations so the system can be
modified to produce a four speaker feed; and
- the reflection of sounds off of configurable walls within a simple
room model to generate early reflection images or cruder echoes.
A source code distribution of Space is available.
Compilation requires C,
Yacc, and Lex and
it works by creating a shell and using the
Csound package to process output.
[http://www.muse.demon.co.uk/Csound.html]
- SPAK
- Send PACket is a collection of tools that can be used
to generate and send arbitrary packets to a UNIX socket.
It was originally written as part of a firewall testing project,
and is designed to be modular and allow maximal control over the
design of the packet.
SPAK consists of several programs including:
makeip, which makes an IP packet;
maketcp, which makes a TCP packet;
makeudp, which makes a UDP packet; and
sendpacket, which sends a packet to a socket.
A source code distribution of SPAK is available. It is written
in C and can be compiled on most UNIX flavors.
[http://www.cs.purdue.edu/homes/steinkf/software/spak/]
- spinne
- A program that superimposes colored graphs onto 2-D plots of
results of various projection methods as
principal components
analysis (PCA), nonlinear mapping (NLM), and self organizing
maps (SOM) that are used for analyzing multidimensional
data via dimensional reduction.
The colors of the graph edges encode the original
high dimensional distances between the connected points, allowing
the distortions produced by the projection
methods to be viewed.
Spinne can handle input data in four different ASCII formats
and can output results in PosScript format.
Binary versions of spinne are available for
MS-DOS, NextSTEP, SGI IRIX, and Linux Intel platforms.
A user's manual is supplied in PostScript format.
[http://www2.organik.uni-erlangen.de/Bruno_Bienfait/Spinne/]
- SPKit
- The Sound Processing Kit is an object-oriented
class library for audio signal processing which includes
classes for various signal processing tasks written in
C++.
SPKit contains more than 20 classes including signal routing
and processing modules such as a multiplexer, an amplifier,
a signal inverter, sum units, delay lines, and a set of filters.
The SPKit classes are divided into several categories.
A sound input/output classes include:
- SPKitReader, which reads audio files in
16 bit linear NeXt/SUN format; and
- SPKitWriter, which writes files in the same format.
The basic signal processing classes are:
- SPKitAmp, an amplifier class which multiplies input samples
by a gain value;
- SPKitInverter, which outputs an input signal in opposite phase;
- SPKitMult, which multiplies two input signals with each other; and
- SpKitRectifier, which outputs absolute values of input signals.
A dynamics processing class includes:
- SPKitCompressor, a signal amplitude compressor class which scales
the amplitude of input signals by a user-specified compression ratio;
- SPKitGate, which compares the input signal amplitude with
the threshold level and scales the amplitude to zero if the former is
less than the latter;
- SPKitLimiter, which scales the amplitude of an input signal to
match a maximum output level indicated by a threshold value; and
- SPKitCompressorLimiter, which feeds the input signal through
a compressor followed by a limiter.
The filtering classes are:
- SPKitBWLowPassFilter, a Butterworth low-pass filter;
- SPKitBWHighPassFilter, a Butterworth high-pass filter;
- SPKitBWBandPassFilter, a Butterworth band-pass filter;
- SPKitBWBandRejectFilter, a Butterworth band-reject filter; and
- SPKitResonator, a second-order all-pole
band-pass filter.
The delay and reverberation class includes:
- SPKitDelay, a delay line class;
- SPKitFBDelay, a delay line class specialized for use in
a feedback loop;
- SPKitSchroederReverb, a reverberator class;
- SPKitAllPassNetwork, an implementation of an
allpass network or filter;
- SPKitComb, a comb filter class; and
- SPKitCombLowPass, a comb low-pass filter class.
A distortion class contains
- SPKitWaveShaper, a waveshaping or non-linear distortion class.
A signal routing class comprises:
- SPKitFeedBack, which outputs the summed signal of two inputs;
- SPKitMux, a signal multiplexer; and
- SPKitSum, which outputs the summed signal of one or more inputs.
A source code distribution of SPKit is available. It is written
in bare-bones C++ (i.e. templates and exceptions aren't needed).
It requires ANSI C standard libraries and uses ANSI C routines
for sound file I/O.
[http://www.music.helsinki.fi/research/spkit/]
- SPLP
- A subroutine which solves linear
optimization problems.
The user inputs the number of constraints and the number of entries
in the solution vector, the coefficients of the linear objective
function, the coefficient matrix, input parameters defining
the form of the bounds for the unknowns, and an array containing
switches for modifying various parts of the routine.
A source code distribution of SPLP is available.
It is written in Fortran 77 and documented via comment statements
contained within the source code file.
This is part of CMLIB.
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- SPM
- A Matlab toolkit implementing Statistical
Parametric Mapping for users familiar with the
underlying statistical, mathematical, and image processing
concepts (i.e. you really need to understand to concepts to
use the software). It is used to test hypotheses about neuro-imaging
data fro SPECT/PET and fMRI sensors.
The SPM approach can be (reasonably briefly) summarized
as a procedure in which:
images are spatially normalized into a standard space and smoothed;
parametric statistical models are assumed at each voxel with hypotheses
expressed in terms of the model parameters assessed at each voxel using
univariate statistics; and
comparisons of all of the voxel statistics are simultaneously assessed
using the theory of continuous random fields.
The functionality of SPM includes:
- realignment of image sequences,
- automated non-linear spatial normalization using basis warps of
discrete cosine transforms,
- image segmentation into grey/white/CSF tissue types,
- coregistration,
- spatial smoothing via convolution with Gaussian kernels,
- formation and assessment of statist images,
- manipulation of results (e.g. plotting, overlaying statistical
results onto structural images, rendering on template surface volumes),
- eigenimage analysis,
- global adjustment and image averaging, and
- image calculations.
A source code distribution of the SPM Matlab toolkit is
available. It consists mostly of Matlab M-files and functions
although some external C programs are also compiled and linked to
Matlab via C-mex files. This is known to work with Matlab 4.2c.
A great deal of documentation is available including technical
reports and a set of tutorial course notes on both the use of
the package and the methods used in the package.
[http://www.fil.ion.bpmf.ac.uk/spm/]
- spock
- A high-end molecular graphics package for displaying protein and nucleic
acid structures as well as a powerful search engine which allows users
to search through a directory of PDB files for proteins with specific
characteristics.
Spock provides typical molecular visualization views (e.g. ribbons of
several types, line and rod bonds, etc.) as well as molecular and
accessible surfacing routines. It also provides interfaces to
DSSP for reading secondary structure information and a
quasi-WYSIWYG interface for Molscript for producing publication
quality output.
Spock was designed from the ground up to be powerful,
flexible, easy to use, and to bring molecular modeling
programs into the age of the internet.
The features of spock include:
- use of OpenGL for maximum portability;
- dynamic memory allocation with no hard-coded upper limits on the
size of structures or the resolution of surfaces;
- a choice of bond display modes including line, ball, ball-and-stick,
and cylinder styles;
- a choice of backbone ribbon styles including tubular, rectangular,
secondary structure, and a variable radius style;
- calculation and display of molecular and accessible surfaces;
- calculation and display of 2-D and 3-D isopotential contours;
- determination of hydrogen bonding patterns from structure with
secondary structure determined from this data;
- saving and easily switching between multiple views of a structure;
- defining and independently manipulating subsets of atoms;
- simple modeling features including dynamic bond editing, rotation of
torsion angles, and a simple mutation facility;
- history and macro mechanisms for creating shortcuts to complex scripts;
- use of environment variables for command customization;
- calculation and display of axes of helices and major moments of sheets;
- export of results to Molscript, Raster3D, VRML 1.0 and 2.0 formats;
- a built-in function calculator for applying functions to atomic or
surface properties;
- support for several image formats including RGB, JPEG,
PPM, GIF, TIFF, FBM, and
PostScript;
- a selection mechanism for easily specifying groups of atoms or molecules; and
- an integrated help facility with context-sensitive help which uses an
external WWW browser.
Versions of spock are available for SGI IRIX and Linux Intel platforms.
A user's guide is available in HTML format in addition to the extensive
online help.
[http://quorum.tamu.edu/jon/spock/]
- SPONG
- A simple system monitoring package written in Perl.
SPONG features include client-based monitoring,
monitoring of network services, grouping of hosts,
host specific contact and downtime information,
configurability on a client-by-client basis,
results displayable on the Web,
a problem history,
messaging via email or pager when problems occur, and
verbose information to help with problem diagnosis.
This is not SNMP-based but rather communicates
via simple TCP-based messages.
The source code for SPONG is available and requires
Perl 5.003 or greater for installation and use. Also required
are a web server which can run
CGI programs and a browser on which
to display results.
[http://strobe.weeg.uiowa.edu/~edhill/public/spong/]
- SPRANNLIB
- The Statistical Pattern Recognition and
Artificial Neural Network LIBrary is
a combination of the former SPRLIB and ANNLIB packages, the
former of which supports the easy construction and simulation
of classifiers and the latter of which contains functions for
creating, training, and testing feed-forward neural networks.
Both use the same set of support routines for memory management,
I/O, and the like so they were combined into SPRANNLIB.
The pattern recognition methods implemented in SPRLIB include:
mean and covariance estimation, within and between scatter
estimation, principal component analysis, random number
generators, the Fisher linear discriminant function, a K-nearest
neighbor classifier, a nearest neighbor classifier, clustering
methods, Parzen classification, a quadratic discriminant function,
a multiclass Mahalanobis classifier, and error estimation routines.
The feedforward networks supported by ANNLIB are multilayer
perceptrons, shared weight networks, and maximum likelihood
networks. Kohonen networks are also supported.
The available learning methods include backpropagation,
conjugate gradient descent, Levenberg-Marquardt, and
psuedo-Newton.
A source code implementation of SPRANNLIB is freely
available for academic or research purposes upon filling out
an online request form.
It is written in C and includes make files for several platforms
including Linux Intel.
The package also uses some of the routines in
Press et al. (1994) which have to be obtained
separately.
A user's guide and reference manual is available either in
HTML or
PostScript format.
[http://www.ph.tn.tudelft.nl/~sprlib/]
- Spread
- A toolkit and daemon that provide multicast and group communications
support to applications across local and wide area networks.
Spread is designed to make it easy to write groupware, networked
multimedia, reliable server, and collaborative work applications.
It consists of a library with which user applications are linked,
a binary daemon that runs on each computer that is part of
the processor group, and various utility and demo programs.
It is currently (6/98) supported on several platforms including
Linux Intel.
[http://www.cnds.jhu.edu/projects/commedia/spread/]
- SPRLIB
- See SPRANNLIB.
- SPRNG
- The Scalable Parallel Random Number
Generators package is a set of libraries for scalable
and portable pseudorandom number generator which has been developed
especially for use in parallel Monte Carlo simulations.
SPRNG provides user-friendly interfaces for parallel
Fortran, C and
C++ programs
which enables the easy use of sufficiently uncorrelated pseudorandom
number streams on different processors with minimal inter-processor
communication. Random numbers can also be generated from more than
one stream on each processor.
The pseudorandom number generators included in SPRNG are:
- two versions of linear congruential with prime addend,
- modified additive lagged Fibonacci,
- combined multiple recursive
generator, and
- prime modulus linear congruential generators.
The MPI message passing software is supported
with PVM support planned for future versions.
A source code distribution of SPRNG is available. It
is written in C and can be compiled into the five libraries on
several types of parallel and serial platforms including
Linux Intel.
It is used by linking these libraries to programs written in any
of the abovementioned languages.
The documentation includes quick start and references guides,
a user's guide, a reference manual, and an introductory guide to
parallel random number generators.
[http://www.ncsa.uiuc.edu/Apps/SPRNG/]
- SP (Semidefinite Programming)
- The Semidefinite Programming software is an implementation
of Nesterov and Todd's primal-dual potential reduction method for
semidefinite programming.
The package includes the full source code (written in C),
a Matlab interface to SP (although it can also
be used directly), Matlab examples, and the documentation.
The C source code includes calls to LAPACK.
The documentation is a user's manual in PostScript format.
See also CSDP, INCT,
LMITOOL, MAXDET,
SDPA,
SDPpack, and SDPSOL.
[http://www-ISL.Stanford.EDU/people/boyd/SP.html]
- SP (SGML Parser)
- A free, object-oriented toolkit for
SGML Parsing and
entity management. SP includes nsgmls, an SGML parser
compatible with and a replacement for sgmls. Other
features include access to all information about SGML
documents (e.g. access to DTD and declaration, access to
markup, etc.); support for almost all optional SGML features
(e.g. SHORTTAG, OMITTAG, RANK, SUBDOC, etc.); a sophisticated
entity manager that supports ISO/IEC Format System Identifiers,
SGML Open catalogs, and WWW; support for multi-byte character
sets (e.g. Unicode and Japnenese character sets); written
from scratch in C++ in object-oriented fashion; fast and
portable. It is currently (8/96) of production quality,
having been tested using several SGML test suites and included
in several commercial products.
The SP source code is available as well as binaries for
Windows 95 and NT, MS-DOS, Sparc Solaris, Linux and DEC Alpha
systems. The documentation is separately available in
HTML format.
[http://www.jclark.com/sp.html]
- Sparse
- A set of C subroutines for solving large sparse real or complex
systems. Besides being able to solve large linear systems it
solves transposed systems, finds determinants, and estimates
errors due to ill-conditioning in the system of equations and
instability in the computations. It is generally as fast or
faster than other sparse matrix packages when solving many
matrices of similar structure.
Sparse has several features beyond the basic creation, factoring
and solving of systems of equations. These include the ability
to handle both real and complex systems of equations, the ability
to quickly solve the transposed system, the dynamic allocation
of memory for matrix elements, the ability to efficiently compute
the condition number of the matrix, the ability to do much of
the matrix initialization and to preorder modified node admittance
matrices, the ability to exploit sparsity in the right-hand-side
vector, the ability to scale matrices prior to factoring to reduce
uncertainty in the solution, and much more.
The Sparse package includes the C source code, a user's guide
in ASCII and Troff format, and a selection of test matrices.
[http://www.netlib.org/sparse/index.html]
- SparseBLAS
- The NIST Sparse BLAS library
provides computational kernels for fundamental sparse matrix
operations such as sparse matrix products and solution of
triangular systems. This package supports various sparse
formats such as compressed-row, compressed-column, and coordinate
storage formats (together with block and variable-block versions
of these).
The source code for Sparse BLAS is written in ANSI C and the routines
are callable from Fortran and C through the standard interface.
The source code is available along with a user's guide and
various other types of documentation in PostScript format.
[http://math.nist.gov/spblas/]
- SparseLib++
- A C++ class library for efficient sparse matrix computations
across various computational platforms. The package consists
of matrix classes encompassing several sparse storage formats
and provides basic functionality for managing sparse matrices.
Various preconditioners commonly used in iterative solvers for
linear systems of equations are included. The focus is on
support for iterative methods (e.g.
IML++),
but the objects in this package can be used in their own right.
SparseLib++ matrices can be built out of nearly any C++
matrix/vector classes and is shipped with the
MV++ classes. A PostScript
manual is available.
[http://math.nist.gov/sparselib++]
- SparseQR
- A C or C++ routine which computes the QR decomposition of
a sparse matrix using row ordering.
See Robey and Sulsky (1994).
[http://www.arc.unm.edu/~trobey/]
- SPARSKIT2
- A basic toolkit for sparse matrix computations which takes the
form of a general purpose Fortran
library. It includes several useful tools for developing
and implementing sparse matrix techniques, particularly for
iterative solvers. Examples of the tools available include programs for
converting data structures, printing simple statistics on
a matrix, and plotting a matrix profile.
It contains just about any algorithm you
might need for performing a sparse matrix operation as well as
several iterative accelerators and efficient preconditioners.
The distribution also includes a repository of sparse matrices.
SPARSKIT can handle conversions among most commonly used sparse matrix storage
formats including the dense, LINPACK
banded, compressed sparse row, compressed sparse column,
coordinate, Ellpack/ITPACK generalized
diagonal, diagonal, block sparse row, modified compressed sparse
row, symmetric skyline, nonsymmetric skyline, linked list,
jagged diagonal, symmetric sparse skyline, unsymmetric sparse
skyline, and variable block row formats.
Non-algebraic operations available include extraction of rectangular
submatrices, filtering and sorting matrix elements, in-place
transpositions, copying, extracting diagonals and upper and lower
matrix portions, column and row permutations, extracting bandwidth
information, and more.
A module called BLASSM (Basic Linear Algebra Subroutines for Sparse
Matrices) contains subroutines for computing various matrix products
and sums.
A MATVEC module contains routines for matrix by vector products and
various sparse triangular solution methods.
A matrix generation module contains routines for generating various
symmetric and nonsymmetric matrices as might result from finite
difference or finite element algorithms.
An iterative solution module contains various subroutines including
conjugate gradient, biconjugate gradient, generalized minimum
residual (GMRES), several GMRES preconditioners, etc.
A source code distribution of SPARSKIT is available.
It is written in Fortran 77 and
takes the form of a library of efficient and well-tested
subroutines. It is documented in a user's manual
available in PostScript format
as well as in some technical reports.
[http://www.cs.umn.edu/Research/arpa/SPARSKIT/sparskit.html]
- Speak Freely
- An application that allows you to engage in bidirectional conversations
over the network. Speak Freely uses both GSM
compression and sample interpolation to reduce the data bandwidth
sufficiently to allow conversations over the Web.
Conversations can also be encrypted using either DES or IDEA.
The individual programs that comprise the package are:
- sfmike, for sending sound to remote hosts;
- sfspeaker, to receive sound from remote hosts;
- sflwl, a client program which requests information from a
server running the Look Who's Listening server;
- sflwld, the Look Who's listening server which maintains
a list of users running Speak Freely who have identified themselves;
- sfecho, a server program that receives sound from a remote
host, buffers it, and then retransmits it to the sending host; and
- sfvod, which monitors connections to a given port.
A source code distribution of Speak Freely is available.
The supplied makefile includes instructions on how to compile on
several UNIX platforms including Linux Intel.
The utilities are documented in separate man pages.
[http://www.fourmilab.ch/speakfree/unix/sfunix.html]
- SPECDRE
- A Starlink Project package
for SPECtroscopy Data REduction.
A typical SPECDRE data set is contained within a
hyper-cube where each row or hyper-column is a spectrum.
Any line or continuum fits calculated are stored along with
the data in this format, as well as are bad values or errors.
Variance information can also be included and is used in
the processing steps, e.g. for statistical weights, if present.
A SPECDRE extension to the basic NDF data format is used which
is recognized by all SPECDRE applications and uncritically
propagaged by other packages.
The tasks performed by the SPECDRE applications include:
using the data and errors of hyper-cubes to write to or read
from printable/editable tables;
plotting of spectra and data with full control of various
aspects such as font, color, line styles, error bars, etc. as
well as overlay on previous plots according to their world
coordinates if possible;
hyper-cube manipulations such as extraction of averaged hyper-planes,
assembly of hyper-cubes from hyper-planes, and filling in hyper-cubes
from several other hyper-cubes;
resampling capabilities including resampling all spectra in a
hyper-cube or resampling and averaging into one spectrum any
number of input spectra;
spectral fits using polynomials, blended Gauss, or triangle
profiles with fit results stored along with data; and more.
A binary distribution of SPECDRE is available for DEC OSF/1,
Linux Intel, and Sun Solaris platforms.
The package is documented in a 78 page user's manual available
in PostScript format.
[http://star-www.rl.ac.uk/store/storeapps.html]
- SPECFUN
- A collection of portable Fortran
routines for calculating special functions.
The routines include:
- ALGAMA, for calculating the log(gamma) function for positive
real arguments;
- DAW, a program to evaluate Dawson's integral for real arguments;
- EI, for computing various exponential integrals;
- ERF, for computing the error function and its variants;
- GAMMA, for calculating the gamma function for a real argument;
- I0 and I1, for modified Bessel functions
of the first kind and order zero;
- J0Y0 and J1Y1, for zero- and first-order Bessel functions
of the first and second kind;
- K0 and K1, for modified Bessel functions of the second kind
and orders zero and one;
- PSI, for evaluating the logarithmic derivative of the gamma function;
- REN, a random number generator;
- RIBESL, for Bessel functions of non-negative argument and order
with or without exponential scaling;
- RJBESL, for Bessel functions of non-negative argument and order;
- RKBESL, for modified Bessel functions of the second kind of
non-negative argument and order and with or without exponential scaling;
- RYBESL, for Bessel functions of non-negative argument and order;
- MACHAR, for determining the parameters of the floating-point
arithmetic on a given machine.
A source code distribution of SPECFUN is available.
All of the programs are written in Fortran and are available in
single and double precision versions.
Each program is documented in comment statements within the program.
[http://www.netlib.org/specfun/]
- SpecIntLib
- A Fortran 77 library containing the most common spectral
transformations based upon FFTs. This package can be used for
programming spectral methods when solving PDEs since it contains
spectral interfaces that transform real or complex fields between
spectral and physical spaces in various situations.
It has a three level structure designed to isolate machine
dependencies from the user as much as possible.
The first or Code level requires only a few subroutine calls,
e.g. a preparation subroutine and two routines to travel back
and forth between the physical and spectral spaces.
The second or Interface level deals with the spatial directions
of the field. It calculates the increments and jumps of
the indices and makes calls to the third or Basic level
subroutines, which are the only machine dependent routines and
thus the only ones that need to be modified between machines.
The Basic level routines include:
RFFTSB, a real fast Fourier transform;
CFFTSB, a complex fast Fourier transform;
RCOSSB, a real fast cosine transform;
CCOSSB, a complex fast cosine transform;
RSIMSB, a real fast sine transform;
RSYMSB, a real fast symmetric Fourier transform; and
CSYMSB, a complex fast symmetric Fourier transform.
A source code distribution of SpecIntLib is available.
It is written in Fortran 77 and documented in a user's
manual available in TeX format.
[ftp://ftp.cerfacs.fr/pub/Net-Sys/softs/fft/]
- specPerl
- A rewrite of SpecTcl for use with
Perl.
[http://keck.ucsf.edu/~kvale/specperl.html]
- SpecTcl
- A development environment for building applications with
graphical user interfaces that run on multiple platforms.
The SpecTcl packages lets you design GUIs interactively
and graphically,
uses a geometry manager precise enough to keep elements aligned
across all platforms,
enables the fast development of applications that can require
many more lines of code in traditional procedural languages,
provides flexibility at runtime to to, e.g. generate menus
at runtime,
allows the integration of Tcl/Tk
scripts with scripts generated in SpecTcl,
allows the quick alternation between design and execution for
quick feedback on changes,
produces executable files that use Tcl/Tk and don't require
SpecTcl for use, and
lets you develop and test simple applications separately and
then combine them into subassemblies of a larger application.
A source code distribution of SpecTcl is available.
It is written in Tcl/Tk and requires recent versions of
those to work.
It is documented in a user's guide available in PostScript
and PDF formats.
[ftp://ftp.sunlabs.com/pub/tcl/SpecTcl/]
- spectral analysis
- Packages for performing various types of spectral analyses include:
ARfit,
Cubic Spline Library,
FFTPACK,
Matlab Astronomy Library,
SANTIS,
SNP,
SSA-MTM,
STARPAC, and
XQz.
- SPEM
- The S-coordinate Primitive Equations Model
is a finite difference ocean circulation model written in
Fortran 77.
It has been used for a variety of regional and basin scale
simulations.
The features of SPEM include:
an s-coordinate generalized topography following vertical coordinate
designed to retain resolution in the upper ocean even over deep
water so the mixed layer can be uniformly resolved independent of depth;
staggered finite differences in the vertical;
three available example simulations;
floats and rotated mixing tensors;
several C preprocessor flags to modify the model before compilation;
options for using implicit time steps on the vertical viscosity and
diffusion;
options for computing the vertical diffusion and viscosity coefficients;
an option for using NetCDF for input and
output files;
and much more.
The source code is available. It is written in Fortran 77
and can be compiled with several Fortran compilers, including g77.
A user's guide is available in PostScript
format.
The NCAR Graphics library is required for using the built-in
graphics capabilities of SPEM.
A package called gridpak is also available for creating
curvilinear orthogonal grids for use with SPEM.
[http://marine.rutgers.edu/po/spem.html]
- Spherekit
- An integrated toolkit for spatial interpolation and comparison
of spatial interpolation algorithms developed at the
NCGIA
(National Center for
Geographic Information and Analysis).
The capabilities of the package include large-scale interpolation,
smart interpolation, and error analysis.
Spherekit can interpolate over continental and global scales since
its computations are based on spherical distances and orientations,
as opposed to conventional interpolations based on various planar
projects of the Earth. It also permits the user to incorporate
knowledge or information about the processes that produced the
spatial fields in a process called smart interpolation. This is
implemented via the interpolation of user-defined, derived
variables. The performance of an interpolation method and its
associated set of parameters is evaluated using cross-validation
wherein the error at each observation point is defined as the difference
between its actual value and its estimated value using the remaining
n-1 points. The available interpolation methods are inverse distance
weighting, triangulation, kriging, multiquadric, and thin plate
spline.
Spherekit is UNIX based and includes a complete graphical interface.
The source code is available and should compile on most generic
UNIX platforms. It uses the
GMT package for displaying
interpolated fields.
[http://whizbang.geog.ucsb.edu/spherekit/]
- SPHEREPAK
- A library of 17 Fortran 77 routines for
computing spherical harmonic analyses and syntheses.
Harmonic analysis is used for problem solving in spherical coordinates
in the same way that Fourier analysis is used in Cartesian coordinates.
It simplifies the tasks interpolation and smoothing on the sphere,
and significantly lessens the problems of solving partial differential
equations (PDEs) on the sphere.
The options include that the grid in the latitudinal direction can be
either Gaussian or equally spaced, the number of grid points in either
latitude or longitude are arbitrary, the analysis can be performed
either on the entire sphere or only in the northern hemisphere,
the associated Legendre functions can either be stored or recomputed
as needed, multiple analyses or syntheses can be specified, and the
spectral truncation is completely under user control.
SPHEREPAK uses Gaussian integration to compute the analysis in the
programs that use a Gaussian grid in the latitude direction, and
uses multiple vectorized FFTs in the longitudinal direction.
The programs in SPHEREPAK are:
- SHAEC, for computing an analysis on a equally spaced grid using
computed functions;
- SHAECI, for initializing an array that may be used repeatedly
by SHAEC;
- SHSEC, for computing a synthesis on an equally spaced grid using
computed functions;
- SHSECI, for initializing an array that may be used repeatedly
- SHAES, for computing an analysis on a equally spaced grid using
stored functions;
- SHAESI, for initializing an array that may be used repeatedly
by SHAES;
- SHSES, for computing a synthesis on an equally spaced grid using
stored functions;
- SHSESI, for initializing an array that may be used repeatedly
by SHSES;
- SHAGC, for computing an analysis on a Gaussian grid using
computed functions;
- SHSGC, for computing a synthesis on a Gaussian grid using
computed functions;
- SHIGC, for initializing an array that may be used repeatedly by
either SHAGC or SHSGC;
- SHAGS, for computing an analysis on a Gaussian grid using stored
functions;
- SHSGS, for computing a synthesis on a Gaussian grid using stored
functions;
- SHIGS, for initializing an array that may be used repeatedly
by either SHAGS or SHSGS;
- DNLFK, which computes the Fourier coefficients in the trigonometric
expansion of the associated Legendre functions;
- DNLFT, which computes the associated Legendre functions using
the coefficients computed by DNLFK; and
- GAQD, which computes the Gaussian latitude and weights that
are used in the Gaussian integration.
A source code distribution of SPHEREPAK is available.
All the programs are written in Fortran 77. Several demonstation programs
are also included. The documentation is mostly contained within the
source code files.
[ftp://ftp.ucar.edu/dsl/lib/sphere/]
- SPIM
- A software simulator that runs assembly language programs for
the MIPS R2000/R3000 processors which can read and immediately
run files containing assembly language code.
It can also read and run MIPS a.out files.
SPIM implements almost the entire MIPS assembler-extended
instruction set.
Other features include a debugger, an X Window interface,
a command line interface, a torture test to verify a port to
a new machine, and an optional extension that performs a
cycle-by-cycle MIPS simulation exposing the hardware pipeline.
A source code distribution of SPIM is available. It is
written in C and can be compiled and used on most UNIX
flavors.
A user's manual is available in either
PostScript or
HTML format.
[http://www.cs.wisc.edu/~larus/spim.html]
- Spin
- A package which supports the formal verification of distributed
systems.
Spin has been used to trace logical design errors in distributed
systems design such as operating systems, data communications
protocols, switching systems, concurrent algorithms,
railway signaling protocols, etc.
It checks the logical consistency of a specification and
reports on deadlocks, unspecified receptions, flags incompleteness,
race conditions, and unwarranted assumptions about the
relative speeds of processes.
A design is verified by building a formal model with the Spin
input language PROMELA (Process Meta Language). PROMELA contains
the primitives for specifying asynchronous (buffered) message
passing via channels with arbitrary numbers of message parameters.
It also allows for the specification of synchronous message passing
systems and mixed systems using both.
The language can model dynamically expanding and shrinking systems with
new processes and message channels capable of being created and deleted
on the fly.
Correctness properties can be specified as standard system or process
invariants using assertions or as general linear temporal logic
requirements.
Spin can be used in three basic modes:
as a protocol simulator, allowing for rapid prototyping with
random, guided, or interactive simulations;
as an exhaustive state space analyzer, capable of rigorously
proving the validity of user specified correctness requirements; or
as a bit-state space analyzer that can validate even very large
protocol systems with maximal coverage of the state space (a proof
approximation technique).
A source code distribution of Spin is available.
It is written in ANSI C and portable to most flavors of UNIX.
It is documented in a user's manual, a man page, some research
appears, and a book, with all but the latter available in the
distribution.
See Holzmann (1991).
[http://www.netlib.org/spin/]
- Spinner
- This HTTP server software has been renamed
Roxen.
- splib
- The spectral transform library contains
programs for a variety of spectral transform functions.
It can handle both scalar and 2-D vector fields.
Some splib functions are spectral interpolations between
two grids, spectral truncations in place on a grid, and basic
spectral transforms between grid and wave space.
The programs in splib are written in Fortran 77
and are documented internally as well as in a large ASCII document
which also contains several example programs.
See also iplib.
[ftp://nic.fb4.noaa.gov/pub/nws/nmc/codes/interp/]
- SPLIB
- A library of iterative solvers with preconditioners for rapid
prototyping of solvers for nonsymmetric linear systems of
equations. SPLIB was primarily developed for comparing iterative
methods and preconditioners in a uniformly coded implementation
while facilitating interdisciplinary collaboration, although the
solvers themselves are also of research interest.
It is written in Fortran 77 and can be
called as a subroutine from Fortran, C or C++. The number of
arguments that have to be passed has been kept as small as
possible, and common blocks are avoided except internally.
The code is heavily instrumented to provide information such
as convergence history, memory usage, and CPU time used.
SPLIB implements 13 iterative solvers and 7 preconditioning
methods, with the preconditioners including those that allow
multiple levels of fill-in through positional and numerical
strategies. All preconditioners are parameterized.
The iterative methods available are BICG, CGNE, CGNR,
CGS, CGSTAB, GMRES, QRMTF, BICGS, GMREST, JACOBI, GAUSS, SOR,
and ORTHM. The preconditioners are ILU, MILU, ILUT, SSOR,
TRID, ILU0, and ECIMGS.
A source code distribution of SPLIB is available. It is written
in Fortran and reasonably portable to most compilers with
a tweak or three.
It is documented in a user's manual and reference guide
available in PostScript format.
[ftp://ftp.cs.indiana.edu/pub/bramley/]
- SPLIB
- This is a set of Fortran routines for spectral methods, efficient
tools for recovering accurate approximate solutions to differential
equations in terms of high-degree trigonometric or algebraic
polynomials. The polynomials bases used in this library include
Jacobi, Legendre, Chebyshev, Laguerre and Hermite, and the integration
formulas include Gauss, Gauss-Lobatto, and Gauss-Radau. A 180+ page
PostScript format manual and reference guide resides in the same directory.
[ftp://microian.ian.pv.cnr.it/pub/splib/]
- spreadsheets
- Freely available spreadsheets for
Linux platforms are MacroCALC,
SIAG,
Teapot,
VOTE, and
xxl.
- SPX
- A system that provides public key based strong authentication for
individual users and server principals in a distributed environment.
Principals install their SPX credentials and then use SPX to generate
authentication tokens to authenticate themselves to remote principals
or to decide whether to accept a token received from a remote
principal.
SPX provides strong authentication with the network utilities
flogin, fcp and fsh, all of which permit strongly
authenticated remote access.
[ftp://ftp.funet.fi/pub/unix/security/login/SPX/]
- SQRL
- A project to build a database full compliant
with the ANSI SQL-92 standard.
It will also be multi-threaded, written entirely in ANSI C, distributed,
and fault tolerant.
This is an ongoing project and as of 5/98 is still in the early
stages.
[http://www.sqrl.org/sqrl/]
- Squeak
- A rapid prototyping environment based on Smalltalk.
This was originally creates by the folks at Apple but has
been ported to various UNIX platforms by the wonderful
folks at INRIA.
The Squeak programming environment includes a Smalltalk-80 compiler,
a run-time virtual machine, large class libraries, and an interactive
development environment.
It uses an integral Smalltalk-to-C translator which is used to
generate the virtual machine, the source for which is actually written
in Smalltalk and then translated and compiled.
The features of the Squeak environment include:
- real-time sound and music synthesis written entirely in Smalltalk;
- extensions of BitBlt to handle color of any depth and anti-aliased
image rotation and scaling;
- network access support allowing the simple construction of servers
and other useful utilities;
- bit-identical running on many platforms;
- a compact object format that requires on a single word of overhead
per object;
- a simple and efficient garbage collector for 32-bit direct pointers; and
- efficient bulk-mutation of objects.
Squeak distributions are available for several platforms and operating
systems including Linux Intel.
Documentation can be found in Smalltalk programming manuals.
There are also several online tutorials on how to use the Squeak
environment.
[http://www.create.ucsb.edu/squeak/]
[http://squeak.cs.uiuc.edu/
]
- Squid
- A package which offers high-performance proxy caching for Web
clients. Squid supports FTP, Gopher and HTTP requests, and the
cache software is more than an order of magnitude faster then
the CERN httpd and other popular Internet caches since it never
needs to fork (except for FTP), is implemented with non-blocking
I/O), keeps meta data and hot objects in virtual memory (VM),
and caches DNS lookups. The caches can also be arranged hierarchically
for an improvement in reponse times and a reduction in bandwidth usage.
The features of Squid include:
- the use of private objects (i.e. objects associated with a single
client as opposed to public objects which may be sent to multiple
clients simultaneously);
- request resolution in a hierarchy which
cuts down on the server load since neighbors and parents are only
sent ICP queries for cacheable objects;
- the proper parsing of
HTTP reply codes to determine which objects should be cached;
- support for an If-Modified-Since GET;
- access log improvements (e.g. only one log entry per client
request with timestamp, elapsed, src-address, type/code, size, method,
and URL fields);
- automatic reloading of cache metadata in
the background;
- unlinking of swap files on restart and the -U
option to remove invalid objects from the disk;
- a more flexible
debugging scheme;
- a new access control scheme; changes to cache
shutdown;
- using SIGHUP to reconfigure the cache; and
- assigning weights to cache neighbors.
Squid is distributed in source code form and is designed to
install and operate on any modern UNIX
system including Linux.
The documentation, including a user's guide and a FAQ, is
currently (4/97) available in ASCII text format.
[http://squid.nlanr.net/Squid/]
- Relais
- A cooperative Web cache which allows faster access to the Web, decreases
network usage, and decreases server load. It can cooperate with a number
of neighbor caches to group their contents and abilities.
This is distributed as a patch to Squid and
can be used on any platform on which the latter works.
[http://www-sor.inria.fr/projects/relais/relais.html]
- Squirm
- A fast and configurable redirector for Squid.
The features include virtually no memory usage, re-reading its config
files while running by sending a HUP signal,
an interactive test mode for checking new configs,
full regular expression matching and replacement,
config files for patterns and IP addresses, and more.
This can be used on any platform on which Squid has been installed.
[http://www.senet.com.au/squirm/]
- SR
- Synchronizing Resources is a language for writing concurrent
programs. The main language constructs are resources and
operations, the former of which encapsulate processes and
variables that are shared and the latter of which provide
the primary mechanism for process interaction.
SR provides a novel integration of the mechanisms for invoking
and servicing operations, which means that local and remote
procedure calls, rendezvous, message passing, dynamic process creation,
multicast, and semaphores are supported, as well as global variables
and operations.
The implementation
consists of a compiler that translates SR to C, a linker that
serves as a front-end to ld, and associated other programs
and library files. SR runs on one or more networked UNIX machines
of the same architecture, with Linux being one of the supported
platforms. The primary documentation for SR is contained within
a book that must be purchased, although some technical reports
about various aspects of SR are also available.
[http://www.cs.arizona.edu/sr/www/index.html]
- SSA-MTM
- The Singular Spectrum Analysis-Multiple
Taper Method toolkit is a set of programs
that perform detailed spectral analyses and decompositions on
an input time series.
It contains procedures for:
decomposing time series into trends, quasiperiodic and period
oscillations, other significant components, and noise;
reconstructing the contributions of selected components of the
time series; and
estimating spectral properties of the time series or any of its
components by modern spectral methods.
Singular spectral analysis (SSA) is used for separating
the various components of the time series.
Spectral analysis can be performed via classic Blackman-Tukey
correlogram estimation, the multi-taper method (MTM), and
the maximum-entropy method (MEM).
The numerical programs that comprise the toolkit are:
ssa, which performs SSA decomposition of an input time
series and reconstruction of selected components;
mcssa, performs Monte Carlo tests of SSA against noise;
spectrum, computes Blackman-Tukey correlogram and MEM
estimates of power spectra;
mtm, computes MTM estimates of spectral amplitudes; and
carlo, which generates Monte Carlo realizations of white or
red noise that resemble a given series.
Each program can be used in stand-alone mode as standard
UNIX-type commands, and all can be used via a GUI
interface called spectra.
A source code distribution of SSA-MTM is available as is
a binary distribution for Linux Intel platforms.
It is written in Fortran 77 and
C and can be compiled and used with
the GNU compiler suite.
The GUI is written using the
Tcl/Tk toolkit.
The results can be viewed graphically using either the
ACEgr or
Gnuplot packages.
The package is documented in a user's guide and each program
also has a man page.
[http://www.atmos.ucla.edu/tcd/ssa/]
- ssh
- A program that lets you log onto another computer over a
network, to execute commands on a remote machine, and to move
files from one machine to another. It provides strong authentication
and secure communications over insecure channels. It is intended
as a complete replacement for rlogin, rsh, rcp and
rdist, and can
replace telnet in many cases.
It uses a packet-based binary protocol and listens on port 22 (which has
been officially registered for ssh).
The protocol exchanges random session keys using RSA with the rest of
the session encrypted using 3DES or some other cipher.
The key useed to encrypt the session key is never stored on disk but
regenerated every hour with the old key deleted.
The features of ssh include:
- strong authentication that closes several
security holes (IP, routing, DNS spoofing, etc.) and provides new
authentication methods, i.e. .rhosts together with RSA-based
host authentication as well as pure RSA authentication;
- automatic and transparent encryption of all communications;
- X11 connection
forwarding for secure X11 sessions;
- arbitrary TCP/IP ports
that can be redirected over the encrypted channel in both directions;
- client RSA that authenticates the server machine at the beginning of
every connection to prevent trojan horses and man-in-the-middle attacks;
- server RSA that authenticates the client machine before accepting
.rhosts or /etc/hosts.equiv authentication;
- an authentication agent that can be used to hold the user's RSA
authentication keys; and
- multiple convenience features that fix annoying problems with
rlogin and rsh.
The source code is available and can be installed
on most UNIX variants.
Documentation is included in the distribution.
[http://www.cs.hut.fi/ssh/]
- SSL
- The Secure Sockets Layer is a security
protocol developed by Netscape and
implemented on top of a transport service such as
that provided by TCP/IP.
It actually consists of two protocols: a record protocol
and a handshake protocol.
The record protocol deals with fragmentation, compression,
data authentication and encryption of messages provided by
applications. It provides support for keyed MD5 and SHA
for data authentication as well as RC4 and DES for
data encryption.
The keys used for these tasks are negotiated by the
handshake protocol, which deals with the exchange of
protocol version numbers and supported cryptographic
algorithms as well as mutual authentication and key exchange.
Freely available implementations of the SSL protocols
are the official Netscape implementation SSLRef
and the third-party SSLeay package.
Related software includes sslfd
and
SSLr.
- SSLeay
- A free implementation of Netscape's SSL, i.e.
the software encryption protocol behind the various Netscape products.
The encryption algorithms implemented by SSLeay are
DES, RSA, RC4, and IDEA.
[http://www.psy.uq.edu.au:8080/~ftp/Crypto/]
[http://drachma.varner.com/~mpearce/ssl.html
]
[http://vsys-www.informatik.uni-hamburg.de/others/sslfaq.html
]
- sslfd
- A wrapper library for the SSLeay package
which implements the SSLv2 protocol.
The sslfd library contains routines useful for adding SSL support
to client and server programs, and has been used to add such
support to telnet, rshd, and ftp programs.
See the related SSLr package.
[http://www.quick.com.au/ftp/pub/sjg/help/sslfd.html]
- SSLr
- A package which implements the standard BSD r* commands (e.g.
rlogin, rsh, etc.) on top of the
SSLeay library.
The server program SSLrshd requires a client to
supply a certificate to access any of the services.
The available clients include SSLrsh,
SSLrcp and SSLrdist.
[http://www.quick.com.au/ftp/pub/sjg/help/SSLrsh.html]
- SSLRef
- A Netscape reference implementation of the
SSL security protocols.
[http://home.netscape.com/newsref/std/sslref.html]
- SSORT
- A set of Fortran 77 subroutines
for the fast in-core sorting of real arrays (SSORT),
integer arrays (ISORT), and character strings (CSORT).
These are available as Fortran source code and are documented
in comment statements within each source code file.
This is part of CMLIB.
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- SSSHMM
- The Successive State Splitting with Hidden
Markov Method is a program for optimizing hidden
Markov networks using the same expectation maximization criteria
as HMM learning.
It features an HMM engine which controls HMM (i.e. Viterbi) learning,
a network generator which generates a new network by splitting
the chosen state,
a network tester the evaluate the efficiency of the splitting
and to determine which state to split and when to stop the algorithm, and
a GUI monitor which shows the network shape as well as output
and transition probabilities.
A source code distribution of SSSHMM is available. It is
written in C and requires the Motif
library for the GUI component.
A brief manual is ASCII format is available.
This software is part of the ICOT project.
[http://www.icot.or.jp/AITEC/IFS/IFS-abst/097.html]
- Ssystem
- A solar system simulator that uses the OpenGL
library. Ssystem includes the Sun, the planets, a few of the major
satellites, and the background stars. Positions are not 100% accurate
but within reasonable range of the actual posiitions on a given date.
The camera can be freely moved and can be pointed at any planet or
other position desired.
Versions of Ssystem are available for Linux and Windows 95, with
a source code version available for the former.
The Linux version requires the Mesa 2.6
OpenGL clone.
[http://www1.las.es/~amil/ssystem/]
- Stalin
- The STAtic Language ImplementatioN is
a compiler for Scheme.
It is designed to be generate extremely efficient executable
images for application delivery or production research runs.
Stalin is a batch mode compiler which compiles a single Scheme
source file into an executable image, although it does this
indirectly via C.
The executable has equivalent run-time semantics to loading the
Scheme source file into an interpreter and then terminating its
execution.
The major limitation is that it is not possible to LOAD or EVAL
new expressions or procedure definitions into a running program
after compilation, although this is traded off for substantial
global compile-time analysis of the source program.
The strategies used for generating efficient code include:
global static type analysis using a soft type system that
supports recursive union types, a strategy that reduces and
often eliminates run-time type checking and dispatching;
low-level representation selection on a per-expression basis which
allows the use of unboxed base machine data representations
for all monomorphic types;
global static life-time analysis for all allocated data which
allows much temporary allocated storage to be reclaimed without
garbage collection; and
very efficient strategies for compiling closures.
A source code distribution of Stalin is available.
It is written in Scheme and is currently (5/97) compiled with
Scheme-to-C.
It is documented in a long README file included in the
distribution.
[http://www.neci.nj.nec.com/homepages/qobi/software.html]
- Standard ML
- One of the ML family of languages.
One implementation is
SML/NJ.
[http://foxnet.cs.cmu.edu/sml.html]
- Stanford GraphBase
- A collection of programs which demonstrate the art of
literate programming while
offering state-of-the-art explanations of many important algorithms
and data structures. They also define a workbench for combinatorial
computing and offer a collection of standard sets of data which can be
used for benchmark tests.
The use of these programs requires the installation of
CWEB.
The collection is described and detailed in
Knuth (1993) and is freely available at the given URL.
Hundreds of additional programs which use the Stanford GraphBase will
be made available as a supplement to Volume 4 of Knuth's
The Art of Computer Programming series.
[ftp://labrea.stanford.edu/pub/sgb/]
[http://tug2.cs.umb.edu/ctan/tex-archive/support/graphbase/
]
- STAP
- An interactive command line driven plotting program with the
capability of performing simple statistical and data analysis
procedures. It is based on the
PGPLOT graphics library and
the Numerical Recipes routines.
[http://www.astro.wisc.edu/~han/stap/stap.html]
- STAPLOT
- A library of Matlab programs (m-files) designed to facilitate the
analysis of oceanographic data during and after a cruise via
a graphical user interface.
The features include:
- station memory which allows them to be color-code by cruise,
location, a property minimum and maximum, or by any other chosen
attribute;
- the ability to add new user-defined properties at any time during
a session (and save them from session to session);
- polar projections and 10-minute bathymetry/topography at
10 to 10000 meters available from within Matlab;
- the selection of stations by any property and property range;
- specification of a large number of user options which can be
changed and saved for each cruise or data set;
- contouring of irregularly sampled data; and
- the automatic recalculation of distance between selected stations.
[ftp://grayling.umeoce.maine.edu/pub/staintro.html]
- Starlink Project
- A project established in 1980 to help astronomers use computers
to analyze their observations. It consists of a network of
computers used by UK astronomers, a collection of software to
reduce and analyze astronomical data as well as to work on some
types of theory, and a team of people offering hardware, software,
and administrative support.
The objectives of the project are to
provide and coordinate interactive data reduction and analysis
facilities for use as a research tool by UK astronomers, encourage
software sharing and standardization to prevent unnecessary duplication
of effort, and provide systems software support for astronomers.
The main software product offered by the Project is the
Starlink Software Collection (SSC) which consists of about
120 items divided into 40 packages, 40 utilities, and 40 subroutine
libraries. Much of the software is available and can be obtained
via the Web. It is divided into three general categories: applications
and user interfaces, utilities, and libraries.
Source code distributions are available for most packages as are
binary versions for Linux Intel platforms.
The applications and user interface packages include:
- CCDPACK, for processing and reducing
CCD-like data;
- CONVERT, for converting data files between
Starlink Project format and other common data formats;
- CURSA, for manipulating astronomical
catalogues and other tabular datasets;
- DAOPHOT, a stellar photometry package
for dealing with crowded fields;
- DIPSO, a plotting package incorporating
basic astronomical applications;
- ECHOMOP, for extracting spectra from
2-D data frames;
- ESP, for determining the photometric properties
of galaxies and other extended objects;
- FIGARO, a general purpose reduction package
for a wide range of images and spectra;
- GAIA, for displaying images;
- IRCAMPACK, for processing IRCAM data;
- IUEDR, which provides facilities for the
reduction of IUE data;
- KAPPA, a general purpose package with over
180 programs for image processing, data visualization, and data
manipulation;
- PERIOD, for searching for periodicities
in data via time series analysis;
- PHOTOM, for measuring the sky corrected
magnitudes and fluxes of astronomical objects within circular and
elliptical apertures;
- PISA, for locating and parameterizing
objects on an image frame;
- POLMAP, for the interactive data analysis
of linear spectropolarimetric data;
- PONGO, for interactively plotting data;
- SAOimage, an astronomical image display
program;
- SPECDRE, a package for spectroscopy
data reduction; and
- TSP, for handling time series and
polarimetric data.
Most of these applications can be used either from a UNIX
shell or within the Starlink
ICL (Interactive Command Language).
[http://star-www.rl.ac.uk/]
- star
- The fastest known implementation of a tar-like archiver.
It can make backups at more than 12 MB/s if the disk and tape
drive support it.
The features of star include:
a fifo that keeps the tape streaming,
a pattern matcher to control the list of files to be processed,
a sophisticated diff command,
no limitations on filename lengths,
automatic recognition of the type of archive so it can handle
other archive types in their native mode,
and automatic recognition and handlingof byte-swapped archives.
A source code distribution of star is available. It
is written in C and can be compiled on most UNIX platforms.
[http://www.fokus.gmd.de/nthp/employees/schilling/index.html]
- Starlab
- A package for simulating the evolution of dense stellar systems
and analyzing the resulting output.
It comprises a collection of loosely coupled programs which, in the
traditional UNIX style, can be combined in arbitrarily complex
ways to study the dynamics of star clusters and galactic nuclei.
A novel feature of Starlab is a flexible external data representation
scheme which guarantees that tools can be combined without loss of
data or internal comments.
The package consists of several modules containing:
- three- and four-body automated scattering packages constructed
around a time-symmetrized Hermite integration scheme;
- a collection of initialization and analysis routines for use
with general N-body systems;
- a general Kepler package for the manipulation of two-body orbits;
- N-body integrators incorporating both 2nd-order leapfrog and
4th-order Hermite integration algorithms; and
- a general N-body integrator called Kira which incorporates
recursive coordinate transformations, allowing the uniform treatment
of hierarchical systems of arbitrary complexity with the general
N-body framework.
A source code distribution of Starlab is available. It can be
compiled and installed on most generic UNIX systems.
It is documented in a user's manual available in PostScript format.
[http://www.sns.ias.edu/~starlab/starlab.html]
- STARPAC
- The Standards Time Series And
Regression PACkage (which was available in an
earlier version called STATLIB) is
a portable library of approximately 150
user-callable Fortran routines
for statistical analysis originally developed at the NIST.
It contains routines for normal random number generation, univariate
sampling, one-way analysis of variance, correlation analysis,
linear least squares, nonlinear least squares, digital filtering,
complex demodulation, correlation analysis, spectrum analysis,
and time series analysis.
The Fortran 77 source code is available. The documentation
is contained within a large ASCII document that prints out to
well over 200 pages.
[http://www.scd.ucar.edu/softlib/STARPAC.html]
- StarSplatter
- A package for creating images and animations from astrophysical
particle simulation data.
StarSplatter renders collections of particles as Gaussian
blobs or (more colorfully) splats.
The position, color, opacity and size of each splat are
controlled by the particle and bunch properties, with
bunch properties being position, color, density, and scale length.
The scale length provides a length scale for the exponential
decay of bunches in the final image.
A camera is used to define a viewpoint for looking at all of the
particles, and a renderer is used to transform the camera and
particle information into a final image.
The features of the renderer include the anti-aliasing of
points which produces good visual results even
with very small particles.
This is designed to work with the
TIPSY package.
A source code distribution of StarSplatter is available.
It is written in C++ and
|it Tcl and should compile and installed
on most UNIX flavors with this software.
Makefiles are provided for several platforms but not for
Linux Intel, although one can be created fairly easily.
A user's manual is provided in several formats.
[http://www.psc.edu/Packages/StarSplatter_Home/]
- StarTeX
- A typesetting system built on top of TeX.
Starter TeX is designed to help students typeset
reports, essays, and similar small documents quickly and easily,
and as such hides many of the gory details behind an interface
suited for those with little previous knowledge of document
processing tools. It is also designed to be more robust, i.e.
be more forgiving of various errors.
[http://tug2.cs.umb.edu/ctan/tex-archive/macros/startex/]
- statistics
- Good places to search for statistical software are the
Statistics and Statistical Graphics Resources
site, the
Guide to Statistical Computing Resources on
the Internet
,
the Statistics on the Web
site, and the
Statistics Related Links
at Duke University.
Repositories for statistical software and other resources are
Statlib,
GASP
(Globally Accessible Statistical Procedures), and the
Geostatistics Web Site
.
- Statlib
- A repository for many megabytes of various types and
sizes of statistical software, data, etc.
[http://lib.stat.cmu.edu/]
- STATTAB
- A package of Fortran routines that calculates cumulative
functions, their inverses, and parameters of the following
distributions: incomplete beta, binomial, negative binomial,
chi-square, non-central chi-square, variance ratio-f, non-central f,
incomplete gamma, normal, Poisson and t. Additionally, when
normal or t cdfs are being computed, it calculates the
associated two-sided p-value. The probability of exactly
n events is calculated and printed with the cumulative
distribution for the binomial and Poisson distributions.
The distribution includes the source code and a 50+ page
user's manual in ASCII format.
[http://www.stat.cmu.edu/general/Utexas/]
- STBasic
- A structured BASIC interpreter which uses the program and
data structures of Chipmunk Basic, an example program
included in the p2c translator.
It also uses the graphics routines from SGRP and
the functionality of GFA-BASIC on Atari ST (i.e. basically
GFA-BASIC ported to UNIX).
The package includes the source and a binary distribution
for Linux Intel programs.
Installation from source requires the prior installation of
p2c and SGRP, with both already included in the binary
distribution.
[ftp://ftp.hrz.uni-kassel.de/pub5/linux/misc/stbasic09/]
- Stella
- A multi-platform Atari 2600 emulator for Linux, DOS, OS/2,
Power Macs, UNIX/X, and Windows NT/95 platforms.
There is a binary distribution for each platform which
includes three 2600 ROM images (i.e. .BIN files): a test
program, a game called Elk Attack, and a game called Okie Dokie.
The ROM images from the Atari 2600 Action Packs by Activision
can also be used with Stella.
[http://www.classicgaming.com/stella/]
- s3
- The Stochastic Spatial Simulator is a package
for the interactive exploration of particle systems on one and
two dimensional grids with at most eight states at each site.
It offers a number of built-in models which can be simulated
from a variety of initial states. It is also designed for
easy extensibility, i.e. new models can easily be added by writing
C code which describes the simulation loop and then adding the
name of that model to a parameter structure.
The source code for s3 is available. It is written in
C and can be compiled and used on generic UNIX/X11 platforms.
An additional package containing user-contribed code is also
available at the site.
The documentation includes an installation manual and a tutorial.
[http://gumby.syr.edu/]
- STIL
- SGML Transformations In Lisp is a style
sheet language with which you can build structure-controlled
applications. It builds an abstract tree representation of an
SGML document instance and allows you to
express transformations using STIL functions.
STIL is a superset of Common Lisp
enriched by a set of constructs
targeted for this task domain which can be used for manipulating
the structure of an SGML document instance by accessing both the
markup and the data.
The source code for STIL is available. It is a CLOS
application written in Common Lisp and requires both
CLISP and sgmls
for compilation and use.
The package is documented in a 20+ page user's manual
available in PostScript format.
See also sdc.
[ftp://ftp.th-darmstadt.de/pub/text/sgml/stil/]
- STk
- A Scheme interpreter that can access the
Tk graphical tools package.
This can be seen as the Tk package where the
Tcl language has
been replaced by Scheme, and where a full object oriented system
called STKlos (related to CLOS and Dylan) is also provided.
The features of STk include:
- an interpreter that conforms to R4RS with some additions from
R5RS such as multiple values and dynamic-wind;
- an extensive object-oriented system called STklos with multiple
inheritance, generic functions, multi methods, and a Meta Object
Protocol;
- extension of the interpreter via adding C modules;
- availability of all commands in Tk to the interpreter;
- callbacks in a GUI are Scheme closures;
- support for Tk 8.0;
- Tcl interpreter not used when using Tk widgets;
- a set of STklos classes have been defined to manipulate Tk
commands as STklos objects; and
- building new widgets in Scheme by composition of existing widgets.
A source code distribution of STk is available. It has been
successfully installed on several platforms including Linux Intel.
Binaries are also available for Linux Intel platforms.
Documentation includes a reference manual and a FAQ, both of which
are available in several formats.
[http://kaolin.unice.fr/]
- STL
- The Standard Template Library is a
C++ library that provides a set of
easily composable C++ container classes and generic algorithms
(i.e. template functions).
The container classes include vectors, lists, deques, sets, multisets, maps,
multimaps, stacks, queues, and priority queues, while the
algorithms include many fundamental algorithms for the most common
types of data manipulations, e.g. searching, sorting, merging,
copying, and transforming.
The ANSI/ISO C++ Standards Committee voted in July 1994 to adopt
the STL as part of the standard C++ library.
The GNU libg++ has included a patched version of the HP STL since
version 2.6.2 although it reportedly didn't become truly usable until 2.7.0 and
later versions. An
SGI STL port
by
Boris Fomitchev is also reported to work with version 2.7.2.
Several online tutorials with many examples are available via
links at the given URLs.
See Glass and Schuchert (1996),
Ladd (1996),
Musser and Saini (1996), and
Nelson (1995).
[http://www.cs.rpi.edu/projects/STL/stl-new-sav/stl-new.html]
[http://www-leland.stanford.edu/~iburrell/cpp/stl.html
]
[http://math.nist.gov/tnt/stl.html
]
[http://www.cs.rpi.edu/~musser/stl.html
]
- STLport
- A project whose goal is to make the SGI STL implementation
usable with most compilers while retaining full functionality.
The main non-portability issue fixed is the default template
class parameters for containers, although several other smaller
problems are being smoothed over.
Several extensions have also been added to ease the task of
porting STL to the range of available C++ compilers.
A source code distribution of STLport is available which
has been successfully compiled and tested using a test suite
on a wide range of compilers including GCC 2.7.2 and
egcs.
Documentation can be found on the site.
[http://www.metabyte.com/~fbp/stl/effort.html]
- STonX
- An Atari ST emulator for UNIX/X11 platforms.
The features include:
MC68000 CPU emulation,
4 or 14 Mb RAM,
color or monochrome graphics modes,
YM2149 sound chip emulation,
IKBD, BIOS-level disk routines,
a bootable UNIX filesystem interface,
FDC emulation complete enough to run some games,
emulation of serial and parallel ports,
a VDI driver for Xlib, use of either
an X Window or SVGAlib with Linux, and more.
A source code distribution is available.
[http://www.complang.tuwien.ac.at/nino/stonx.html]
- Stony Brook Algorithm Repository
- A comprehensive collection of algorithm implementations of eighty
of the most fundamental problems in combinatorial algorithms.
The problem taxonomy, implementations, and supporting
material are drawn from Skiena (1997).
The site provides implementations of useful algorithms via
either links to sites that have them or local copies.
The implementations for each type of problem are rated according
to usefulness on a scale of 1 through 10, with usefulness
defined as how likely it is that someone lookin for code will
be happy with what they find. The author invite feedback on
their ratings.
The problems are classified by category (e.g. data structures,
numerical problems, combinatorial problems, graphic problems
in polynomial time, graph problems in exponential time,
computational geometry, and set and string problems) and also
by the computer language in which they are implemented.
[http://www.cs.sunysb.edu/~algorith/]
- Stow
- A GNU program for managing the installation of
software packages. It enables packages to be kept separate while
making them appear to be installed in the same place.
Historically this has been a difficult task because of the
need to administer, upgrade, install, and remove files in
independent packages without confusing them with other files
sharing the same filesystem space.
The approach used in Stow is to install each package into its
own tree and then use symbolic links to make it appear as though
the files are installed in a common tree. This allows administration
to be performed in the package's private tree with Stow being used
to update the symbolic links.
Stow was inspired by Depot but is much
simpler, e.g. no database files are needed.
A source code distribution of Stow is available.
It is a Perl script which should run
correctly under either version 4 or 5.
A manual is available in the usual formats.
[http://www.gnu.org/software/stow/stow.html]
- Strata
- A stratigraphic modeling package designed for simulating the
evolution of sedimentary ocean basins.
The key assumption used by this model is that sediment transport
behaves diffusively, with the sediment source proportional to water
depth for carbonate simulations and a user-specified function for
clastic simulations.
It also has the capability of predicting the seismic response of
a modeled basin since the density and sound velocity of all parts
of the basin can be determined.
The strata package consists of four programs:
- setbasin, for setting model parameters;
- simbasin, for running the model with the assigned parameters;
- plotbasin, for plotting results; and
- filmbasin, for creating animations of series of results.
The controlling variables set with the setbasin program are
divided into several parameter groups including measures, ages,
clastics, carbonates, sealevel, subsidence, compaction, and heat
flow groups.
The details of the parameters within each group include:
- measures - for setting total width, spatial divisions, total
time, temporal
divisions, and timelines for saving the simulation state at regular
intervals;
- ages - for setting increments at which time slices should be
saved or for saving individual slices;
- clastics - for defining the diffusion constant k for various
materials as well as the pelagic sedimentation rate;
- carbonates - for setting parameters concerning calcium carbonate
sedimentation including both epeiric and oceanic sedimentation algorithms
and the rate constants for each;
- sealevel - for defining the eustatic curve in varying amounts
of detail;
- subsidence - for setting the subsidence rate, type of profile (e.g.
cratonic, foreland, or passive), isostatic compensation, flexural
rigidity, and densities of the various materials;
- compaction - for determining whether compaction occurs and, if so,
defining the decay constants, porosities, and whether erosion will
affect it; and
- heat flow - for setting the heat flow constant in the steady state
vertical thermal equation as well as the boundary temperatures and the
thermal conductivities of the various materials.
A source code distribution of Strata is available under the
GPL. It can be compiled and used on most
generic UNIX/X11 platforms.
It is documented in a user's guide as well as in several
technical publications.
[http://hydro.geosc.psu.edu/Sed_html/strata_front_page.html]
- Streamer
- A radiative transfer model that can be used for computing either radiances
(intensities) or irradiances (fluxes) for a wide variety of atmospheric
and surface conditions.
The features of Streamer include:
computing fluxes using two or more either broad or narrow band streams;
the use of DISORT for more than two streams;
computation of radiances for any polar and azimuth angle using four
or more streams;
computation of upwelling and downwelling shortwave and longwave,
net fluxes, cloud forcing, and heating rates;
parameterization of 24 shortwave and 105 longwave absorption bands for various
gases and overlapping gases and clouds;
built-in atmospheric data including water and ice cloud optical
properties, five aerosol optical models, four aerosol vertical
profiles, and seven standard atmospheric profiles;
computations performed on scenes consisting of a mixture of up to
10 cloud types occurring individually, up to 10 overlapping cloud sets
of up to 10 clouds each, and clear sky (with all over some combination
of up to three surface types);
inclusion of spectral albedo data for open ocean, meltponds, bare ice,
snow, green vegetation, and dry sand; and
a user interface providing a looping structure for up to ten variables
at a time.
A source code distribution of Streamer is available. It is written
in Fortran for UNIX platforms.
It is documented in a user's guide available in PostScript format.
[ftp://stratus.bu.edu/pub/streamer/]
- STRIPE
- A tool that converts a polygonal model into triangle strips to
speed up rendering time.
[http://www.cs.sunysb.edu/~evans/stripe.html]
- Strn
- Scan trn is a news reader based on
trn.
It contains all of the features of trn and adds several
capabilities including:
a newsgroup browser, virtual newsgroups, scoring/rating
of articles, and easy configuration menus.
[ftp://ftp.uu.net/.vol/10/news/readers/trn/strn/]
- Studio
- A sound editing tool which enables recording, playback, and simple
cut and paste editing of sound files in diverse formats on
a Linux PC with the OSS sound drivers.
Studio is a Tcl/Tk application.
[http://www.elec-eng.leeds.ac.uk/staff/een6njb/Software/Studio/screens.html]
- STSDAS
- A system for reducing and analyzing data from the Hubble Space
Telescope.
This runs in and requires the
IRAF environment.
[http://ra.stsci.edu/]
- SU
- Seismic Unix is a self-contained
software environment for seismic research
and data processing used by exploration geophysicists, earthquake seismologists,
environmental engineers, software developers and others.
It provides a standard environment for the testing of new processing
algorithms. It is easy to use because it does not require learning a special
language-its application uses only the standard facilities
afforded by the UNIX
operating system. Once UNIX shell-redirecting
and pipes are mastered, there is no
further artificial language to learn. The seismic commands
and options can be used as
readily as other UNIX commands. In particular, the user can write ordinary UNIX
shell scripts to combine frequent command combinations into meta-commands (i.e.,
processing flows). These scripts can be thought of as ``job files.''
SU has a layered structure consisting of:
- cwp, a library of scientific
routines (e.g. FFT routines) written in C as well as utility programs
and shells;
- par, a library supporting the CWP programming style (e.g.
self-documentation, error reporting, parameter passing, etc.); and
- su, seismic processing codes that use a standard SEG-Y trace
structure.
There are also codes the buffer the graphics routines
of PSPLOT, xplot, and
Xtcwp, an internal X Window based graphics package. Some of the
more common processing programs compute autocorrelations, gain,
normal-moveout corrections, prediction error filtering, velocity
analysis, and much more.
The source code to SU, written in ANSI C, is available and
should compile successfully on almost any generic UNIX platform
with a C compiler. The documentation is contained within
a user's manual available in both HTML and PostScript formats.
A version of this package called
DSU that runs on a network
of workstations is also available.
[http://timna.Mines.EDU/cwpcodes/]
- SubArctic
- A Java-based user interface construction
toolkit. SubArctic is a complete, full-functioned, industrial
strength toolkit designed to provide a solution to all user
interface needs. It is based on 10 years of research and designed
to offer advanced techniques that go beyond static interfaces and
simple collections of widgets.
As such is is highly extensible and supports a number of sophisticated
effects not available in other toolkits.
The features of SubArctic include:
support for sophisticated drawing effects which can be applied
to all interface elements;
animation support based on a high-level path model with controlled timing;
facilities for semantic snapping interactions;
provision for standard and custom interactor (widget) styles that
can be dynamically switched;
support for semantic lens interactions;
a full-functioned interactor library with the usual buttons, check boxes,
and sliders along with more sophisticated techniques supporting
dragging, snapping, lenses, and animation;
techniques which support interactive interface debugging;
a built-in, efficient, and easy to use constraint evaluator for support
of flexible dynamic layouts; and
a well-developed and carefully designed infrastructure for
extensibility at all levels.
A distribution of SubArctic which contains both source and
executables is available.
The documentation includes a user's manual, a JavaDoc for the
API, and a source code guide.
[http://www.cc.gatech.edu/gvu/ui/sub_arctic/]
- SUDSODS
- A set of Fortran 77 routines for the solution of
overdetermined and underdetermined systems of linear algebraic
equations.
The SODS routine solves an overdetermined system of
linear equations AX=B where A is M by N with M
N.
If the rank of A equals N then X is the unique least squares
solution vector, and if it is less than N then the least squares
solution of minimal length can be provided.
The SUDS routine solves an underdetermined system of
linear equations AZ=B where A is M by N with M
N.
If the rank of A equals I then a vector X and a matrix U are
determined such that X is the unique solution of smallest length.
If the system of equations aren't compatible then only the
least squares solution of minimal length is computed.
A source code distribution of SUDSODS is available.
The routines are written in Fortran 77 and documented via
comment statements contained within each source code file.
This is part of CMLIB.
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- SUGAL
- A genetic algorithm package
featuring a wide range of operators and datatypes.
SUGAL was designed with particular emphasis on making it
easy to extend and configure without having to modify the
existing source code.
[http://www.trajan-software.demon.co.uk/sugal.htm]
- SUMMA
- The Scalable Universal Matrix Multiplication
Algorithm is a straightforward, highly efficient, and scalable
implementation of common matrix multiplication operations.
The algorithms are simpler than previously published methods,
yield better performance, and require less work space.
An implementation written in C for use with
MPI is available in source code format.
[http://www.cs.utexas.edu/users/rvdg/software.html]
- Super Delaunay
- A fully dynamic constrained Delaunay triangulation engine with which
triangulations can be created point by point, e.g. individual points
can be inserted or deleted at any time during the process and the
triangulation will be dynamically changed.
The features of SD include:
- inserting or deleting points from a triangulation by coordinates
or reference number;
- creating or deleting constraints in a triangulation (from existing
points or not);
- flipping triangles where the common edge becomes a constraint;
- saving the result in different formats including DXF, Inventor,
3DS, POV, ASCII and VRML;
- locating points in a triangulation, i.e. returning a triangle
given coordinates; and
- defining specific areas with which to work.
SD is an ANSI C library providing the above functionality for 2-D
triangulation.
It is available in binary format for several platforms including
Linux Intel by contacting the author at an address given at the
site.
[http://www.dlc.fi/~dkpa/]
- SuperLU
- A set of subroutines to solve a sparse linear system. It
implements Gaussian elimination with partial pivoting, and is
currently the fastest algorithm available for a variety of
problems. SuperLU is written in C and supplies a version of
BLAS in C, but to
maximize performance an optimimzed BLAS is recommended. A real
version is currently available with a complex version in the
works. The source code is available along with a users guide.
[ftp://ftp.cs.berkeley.edu/pub/lapack/SuperLU/]
[http://HTTP.CS.Berkeley.EDU/~xiaoye/superlu.html
]
- Surface Evolver
- An interactive program for the study of surfaces shaped by surface
tension and other energies and subject to various constraints.
A surface is implemented as a simplicial complex, i.e. a union
of triangles. An initial surface is defined in a data file
and the Evolver evolves the surface toward minimal energy via
a gradient descent method. The aim can be to find a minimal
energy surface configuration or to model the process of evolution
by mean curvature. The energy can be a combination of surface
tension, gravitational energy, squared mean curvature, user-defined
surface integrals, or knot energies. The Evolver can handle
arbitrary topology, volume constraints, boundary constraints,
boundary contact angles, prescribed mean curvature, crystalline
integrands, gravity, and constraints expressed as surface integrals.
Surfaces can be interactively modified to change their properties or
to keep their evolution well-behaved. It was written for 1- or 2-D
surfaces but can also do higher dimensions with some restrictions
on available features.
The Surface Evolver is available for UNIX, Windows 95 or NT,
MS-DOS, NeXT, and Macintosh systems. On UNIX systems graphics
are handled by means of an X Window System interface or by
an interface to the Geomview package.
The 150 page user's manual is available in both PostScript
and HTML formats.
Versions of the Evolver are also available which use either
the MPI or PVM
packages for distributed parallel processing.
See Brakke (1992).
[http://www.geom.umn.edu/software/evolver/]
- SurfIt
- This has been renamed Plume.
- SUSAN
- The Smallest Univalue Segment Assimilating
Nucleus is a program containing algorithms for image
noise filtering, edge finding, and corner finding.
In the SUSAN principle a circular mask with a center pixel
called a nucleus is placed on images consisting of light and
dark patterns. The brightness of each pixel within the mask
is compared to that of the nucleus to define an area with
a brightness similar to that of the nucleus, with this area
known as the USAN. 2-D features and edges can then be detected
from the size, centroid, and second moments of the USAN, with
no image derivatives or noise reduction required as in most
other algorithms.
The USAN area is at a maximum when the nucleus lies in a flat
region, falls to half of the maximum very near a straight
edge, and falls even further when inside a corner. This gives
rise to the SUSAN principle wherein an image processed to give
as output inverted USAN area has edges and 2-D features strongly
enhanced, with 2-D features enhanced more strongly than edges.
The noise reduction algorithm is related to the SUSAN principle
in that the USAN is used to choose the best local smoothing
neighborhood.
A source code distribution of SUSAN is available. It
is a single self-contained C program which inputs and outputs
PGM format images of any size, performing any of the three
SUSAN algorithms. The use of the program is documented in
comment statements within the code as well as in several
technical reports available online.
[http://www.fmrib.ox.ac.uk/~steve/]
- Sutra
- A collection of visualization programs built on top of
the Karma package.
The programs include:
- xray and krot for the volume rendering of
data cubes;
- kview and kubes to play movies of data cubes as
well as inspect two cubes at the same time;
- kslice_3d for slicing a cube;
- ksnow and ktrek for rendering or flying through
tabular data;
- cube2mpeg for compressing movies to MPEG
format;
- khuei for superposing images;
- kpvslice for the interactive selection of position-velocity slices;
- krenzo for interactive renzograms; and
- koords for interactive coordinate placement.
Much of this package requires only the same basic system as
does the Karma package, i.e. a generic UNIX/X11 platform, although
special hardware may be required for a few programs.
The package is documented in a user's manual available in
PostScript format.
It appears that this is slowly being absorbed into the Karma package.
[http://www.atnf.csiro.au/computing/software/visualisation/]
- SUTRA
- A finite element simulation model for saturated or unsaturated,
variable density ground water flow with energy or chemically reactive
single species solute transport.
SUTRA can be used to areal and cross-sectional modeling of
saturated ground water flow systems as well as for cross-sectional
modeling of unsaturated zone flow.
Solute transport can be used to model natural or man-induced
chemical species transport including the processes of solute
sorption and production and decay.
Groundwater contaminant transport problems and aquifer restoration
designs can also be analyzed.
The solute transport capabilities can also be used for modeling
variable density leachate movement and the cross-sectional modeling
of saltwater intrusion in aquifers on near-well or regional scales
with either dispersed or relatively sharp transition zones between
freshwater and saltwater. The energy transport simulation capabilities
can be used to model thermal regimes in aquifers, subsurface heat
conduction, aquifer thermal energy storage systems, geothermal
reservoirs, thermal pollution of aquifers, and natural hydrogeologic
convection systems.
The SUTRA model uses a 2-D hybrid finite element and integrated
finite difference method to approximate the governing equations
describing the processes simulated, i.e. fluid density-dependent
saturated or unsaturated groundwater flow and transport of either
solute or thermal energy in the groundwater.
A source code distribution of SUTRA for UNIX platforms is
available.
The primary documentation is contained within
Voss (1984).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/sutra.html]
[http://www.geogr.uni-jena.de/software/sutra.html
]
- SVDPACK
- The Singular Value Decomposition PACKage
consists of four numerical (iterative) methods for computing
the singular value
decomposition (SVD) of large sparse matrices using double precision ANSI
Fortran 77. A compatible
ANSI-C version (SVDPACKC) is also available. This software package
implements Lanczos and
subspace iteration-based methods for determining several of the largest
singular triplets (singular
values and corresponding left- and right-singular vectors) for large
sparse matrices. The package has
been ported to a variety of machines ranging from supercomputers to
workstations: CRAY Y-MP,
CRAY-2S, Alliant FX/80, SPARCstation 10, IBM RS/6000-550, DEC 5000-100,
and HP 9000-750.
The development of SVDPACK wa motivated by the need to compute large
rank approximations to
sparse term-document matrices from information retrieval applications.
Future updates to
SVDPACK(C), will include out-of-core updating strategies, which can be
used, for example, to handle
extremely large sparse matrices (on the order of a million rows or
columns) associated with extremely
large databases in query-based information retrieval applications.
See Berry (1992).
[http://www.netlib.org/svdpack/index.html]
- SVGAGUI
- A library for the creation of GUIs which will work with both
SVGAlib and Xlib.
The available objects include buttons (normal, light, pixmap,
check, and radio), sliders (vertical, horizontal, nice horizontal
and vertical, and nice value), image, browser, pulldown,
text (normal and embossed), numbers (normal and digital),
input (normal, float, and integer), and more.
[http://rulhmpc38.leidenuniv.nl/private/multitrack/svgagui.html]
- SVGALIB
- A low-level graphics library for Linux platforms.
SVGALIB was originally based on VGAlib 1.2, but has been greatly
extended to support many more chipsets.
It supports transparent virtual console switching, i.e. you can
switch consoles to and from text and graphics mode consoles
with just a keystroke.
It includes code to hunt for a free virtual console on its own in
case it is not being started from one, i.e. from over a network
or within screen or xterm.
When it is used by a program at runtime, the chipset is first
detected and then the appropriate driver is used, thus enabling
the graphics program to work on any card supported by SVGALIB if
the mode it uses is supported by the chipset driver for that card.
A source code distribution of SVGALIB is available which can
be easily configured and compiled on Linux Intel systems.
Documentation consists of some ASCII text files and an extensive
set of man pages for the available library calls.
[http://www.sunsite.unc.edu/pub/Linux/libs/graphics/]
- SVGATextMode
- This uses extra features found in all SVGA video cards to enhance
Linux text modes independently of what the BIOS can do.
It is configured with an XF86Config-like file, and allows
setting of pixel clock, H/V timings, font size, cursor size, etc.
It enables using the video card AND the monitor to their full
potential in textmode, as in the
X Window system.
[http://sunsite.unc.edu/pub/Linux/utils/console/]
- SVMlight
- A implementation of Support Vector Machines in C.
SVMs are used in pattern recognition problems such as text
classification.
The features of SVMlight include a fast optimization algorithm,
handling several thousands of support vectors, handling several tens of
thousands of training examples, support for standard kernel functions
as well as the capability of defining your own, and use of sparse vector
representation.
The source code is available as are binaries for Sun SunOS and Solaris and
Linux Intel.
Documentation is contained within a man page as well as in some
technical reports.
[http://www-ai.informatik.uni-dortmund.de/FORSCHUNG/VERFAHREN/SVM_LIGHT/svm_light.eng.html]
- Swarm
- A software package for multi-agent simulation of complex
systems intended to be a useful tool for researchers in a variety
of disciplines, especially artificial life. The basic Swarm
architecture, in which a large variety of agent-based models can
be implemented, is the simulation
of collections of concurrently
interacting agents. The package provides object-oriented
libraries of reusable components for building models and
analyzing, displaying, and controlling experiments on those
models.
The Swarm libraries can be divided into three main categories:
simulation, software support, and model specific libraries.
The simulation libraries are further divided into: a swarmobject
library which contains the core classes upon which agents in Swarm
models are based; an activity library containing the heart of
the simulation mechanism, i.e. the scheduling data structures and
execution support; and the simtools library which is a miscellaneous
collection of classes needed to build simulations, e.g. classes to
control the execution of the entire simulation apparattus and
classes for data analysis and display support.
The software support libraries were written to support modeling but
could also have applications beyond simulation, i.e. they encapsulate
the basic engineering tasks needed to write effective software.
The include general purpose tools for building object-oriented
programs, a random number class, and a graphical interface library.
The model specific libraries are those that are used for particular
modeling domains, e.g. libraries for two-dimensional spaces, genetic
algorithms, and neural networks.
The source code for the Swarm software is available as are binaries
for some platforms (including Linux). It is written in GNU
Objective C and the X Window system.
It also requires the
Tcl/Tk software.
There is quite of bit of documentation available in PostScript
and HTML format.
[http://www.santafe.edu/projects/swarm/]
- SWB
- See Scientist's Workbench.
- SWIG
- The Simplified Wrapper
and Interface Generator is
a tool for scientists and programmers to use to integrate
common interface languages such as
Tcl/Tk,
Perl,
Python and
Guile with programs
containing collections of functions written in C or C++.
SWIG automates the process of writing highly specialized
wrapper codes for each language and makes it easy to extend
an interface language without having to worry about the
nasty details. SWIG was developed to provide a system
that would make it easy to put together interesting applications
involving numerical simulation, data analysis, and visualization
without having to worry about tedious systems programming or
making substantial modifications to existing code.
Applications of SWIG include simplified user interface
programming, extremely rapid prototyping, improving debugging
and testing, better performance (i.e. functions can be
written in C instead of Tcl, Perl, etc.), and development
of language independent applications. SWIG is used by
first creating an interface file containing C style
declarations of functions, variables and constants that
you want to build into a user interface. Next a parser
takes this file and converts it into an internal representation,
which is passed to a code generation module which produces C
code and a documentation module supporting ACII,
LaTeX, and HTML. Each
module is implemented as a collection of C++ classes which simplifies
the process of supporting new languages and allows the user
to expand the system.
The SWIG source code is available and can be compiled and
installed on generic UNIX boxes with an ANSI C compiler,
e.g. GCC. The documentation is contained within a 50+ page
users guide available in PostScript and ASCII formats.
[http://www.cs.utah.edu/~beazley/SWIG/]
- SWI-Prolog
- A Prolog compiler in the
Edinburgh Prolog family.
The features of SWI-Prolog include:
a comprehensive set of built-in predicates,
a module system, a garbage collector, dynamic
expansion of runtime stacks, an interactive
development environment, an execution profiler,
exception-based autoloading, a quick load format
and fast compiler, a two way interface to C that is
safe to the garbage collector, machine-independent
saved states, and embedding in C applications.
The speed of compiled code isn't great, but it does
have fast database manipulation and efficient implementations
for various meta-call procedures.
The GUI development environment is supplied by connecting
the XPCE package to SWI-Prolog.
The source code for SWI-Prolog is available. It is written in
ANSI C and can be easily compiled on Sun SunOS and Solaris and
Linux Intel systems via the supplied configure file.
An executable binary is available for Linux Intel platforms.
The systems is documented in a reference manual available
from within the program or as a separate document in either
HTML or PostScript format.
[http://swi.psy.uva.nl/usr/jan/SWI-Prolog.html]
- Swish
- The Simple Web Indexing System for
Humans is a tool that lets
you create indexes of directories of files (including HTML files)
and search them for key words or combinations thereof. The search
process can be done via a command line interface or automated for
use on a Web page using a program called
WWWWais. Swish is simpler
than some other indexing systems and is designed to work well with
Web pages. It was written in vanilla C and should compile readily
on UNIX boxes, e.g. it compiled using GCC on my Linux box on the
first try.
[http://sunsite.berkeley.edu/SWISH-E/]
- SYISDA
- Programs for finding all eigenvalues and eigenvectors of real
symmetric diagonalizable matrices in parallel. These can be
easily adapted to resolve only a part of the eigenvalue
spectrum. SYISDA uses MPI
for message passing, and as such should run on any machine
support that message passing system, including Linux.
[http://www.mcs.anl.gov/Projects/PRISM]
- SYLU
- Scott's Yet another Language Unification
is a version of Xerox PARC's ILU
written entirely in Python. It
is on-the-wire compatible with ILU although all of the features
are not yet (10/97) implemented.
[http://coho.stanford.edu/~hassan/ILU/SYLU/]
- SYMCON
- A mixed symbolic numeric program package for the treatment
of parameter dependent systems of equations. The program is a
combination of symbolic and numerical computations with graphical
output and menu interface. The numerical part is written in C,
and the graphical part is supposed to run under either SUNVIEW
or the OPENWINDOWS environment, the latter of which should be
available for Linux platforms (although I haven't attempted this
one yet).
A source code distribution of SYMCON is available.
It is written in C and is documented in a user's manual
available in PostScript format.
This is part of CodeLib.
[ftp://elib.zib-berlin.de/pub/elib/codelib/symcon/]
- Symmetrica
- A computer algebra package devoted to representation theory,
invariant theory, and the combinatorics of finite symmetric
groups and related classes of groups (e.g. the alternating
groups, wreath products of symmetric or alternating groups, finite
and infinite linear groups, and other classes of groups).
It is meant to be a tool for those working on representation
theory or on its application to mathematics, physics or chemistry.
Symmetrica provides routines for handling several mathematical
structures including: ordinary irreducible and Brauer characters
as well as decomposition numbers of symmetric groups; ordinary
irreducible characters of alternating groups; ordinary irreducible
characters of wreath products of symmetric groups; ordinary and
modular irreducible matrix representations of symmetric groups;
ordinary irreducible polynomial representations of general
linear groups; multivariate polynomials and, in particular, Schubert
and zonal polynomials; Schur polynomials as well as several other
series of symmetric polynomials; cycle indicator polynomials for
combinatorial enumeration; and the ordinary group algebra of the
symmetric groups.
The Symmetrica distribution includes the source code, written in
standard C that should compile on most platforms with a C
compiler, and a 180 page user's manual in TeX and PostScript
format.
[http://www.mathe2.uni-bayreuth.de/axel/symneu_engl.html]
- SYMMLQ
- A program designed to solve systems of linear equations Ax = b
where A is an n-by-n symmetric matrix and b is a given vector.
The matrix A is not required to be positive definite but is
intended to be large and sparse.
Preconditioning is also offered as an option.
The program is available as Fortran source code and is documented
in comment statements in the code.
[http://www.netlib.org/linalg/]
- synpic
- A ray tracing package.
The ray tracer can handle a variety of quadric surfaces,
a few planar objects, and circular tori. The tracer
also supports reflection and refraction.
A fully procedural description language has rich
support for 3-D manipulation and offers vector arithmetic
and colors and built-in types.
The synpic system is written in ANSI C and can be installed on
most generic UNIX platforms using a supplied configure script.
The installation and use of synpic requires the
uri library package.
The ray tracer is documented in a man page.
[ftp://ftp.agso.gov.au/pub/Aegis/]
- SYNTAX
- A set of tools for the design and implementation of the front-end
part of translators in the compilation field. The SYNTAX tools
allow the generation of analyzers and the compilation of source
texts with those analyzers.
This has all the capabilities of lex
and yacc plus some additional features
including better error processing, i.e. an automatic (and
tunable) error repair and recovery mechanism.
The modules comprising SYNTAX are:
- BNF, a which takes a context-free grammar (CFG) and produces
an internal form used by the other modules;
- CSYNT, which checks that the input CFG is LALR(1) compliant;
- LECL, a scanner generator which takes as input the lexical
specification level in regular expression form;
- RECOR, which processes the lexical and syntactic error
processing specifications; and
- TABLES-C, the collects the output of the other modules and
generates a C program to be linked with the SYNTAX library.
Distributions are available for several systems including
Linux Intel. A user's manual written in French is available in
PostScript format.
[http://www-rocq.inria.fr/oscar/www/syntax/syntax-eng.htm]
- system administration
- Packages developed for administering one or more machines in other
than a random way include:
- acct, a set of accounting utilities which
provide information about system usage;
- ACUA, for administering user accounts and
enforcing access restrictions;
- AgentD, a scheduling daemon which schedules
system administration procedures at chosen intervals;
- Cfengine, a language for testing and
configuring heterogeous UNIX-like systems;
- COAS, a project to improve the way users
administer their Linux systems;
- DQS, which distributes computational resources
across a network;
- GASH, a special shell for distributed
NIS administration;
- ipfwadm, for administering the IP accounting
and firewall services offered by the Linux kernel;
- KerbNet, an implementation of Kerberos
that provides an administrative interface;
- Linuxconf, a fully integrated
system administration tool for maintaining a working Linux system;
- SATAN, a security administrator tool;
- SNMP, under which several administration
tools are listed;
- traceroute, for tracing the route that
IPpackages take in getting to a destination system;
- Webmin, a Web-based interface for system
administration; and
- XUser, an interface to the shadow password
administration files.
- System16
- A emulator of the Sega System16 arcade
machines.
[http://electron.et.tudelft.nl/~jdegoede/system16.html]
- szip
- A freeware, portable, general-purpose, lossless compression program
with high speed, compression, and memory demands.
It uses a blocksort variant with a maximum blocksize of 4.1 MB, so
compression is better for larger files. It uses a byte-oriented
coder for output and a prediction model specifically developed for
blocksort.
A binary version of szip is available for Linux Intel platforms.
[http://www.compressconsult.com/szip/]