Click here to see the number of accesses to this library.

# 			 Cascade Software Availability
# 		    Cascade Version SUN0.9  June 23, 1988
# Two groups of software are available under the cascade sublibrary of netlib.
# These are the cascade subroutine library, and the cascade tools, which are a
# group of programs which can be called either as subroutines or as commands 
# from a Unix shell or VMS/DCL.  The main programs use routines from the 
# subroutine library.
# The cascade subroutine library's subroutines and functions are documented in
# the manual "Cascade Library Users' Guide", available via netlib by requesting
# "send from cascade" in postscript form.
# The cascade tools are documented in the manual "Cascade Tools and Knowledge
# Base", available via netlib by requesting "send from
# cascade" in postscript form.
# These files, as well as a suite of examples, are also available as Unix
# compressed tar-format files via anonymous login to at The
# University of Tennessee, Knoxville.  If you are using a Unix system, the
# Makefiles for libcascade.a (the cascade subroutine library) and
# libcascadetools.a (the cascade tools library) are appended at the end of this
# message; they will have to be modified to work at your site, since they are
# intended to be invoked from the cascade distribution tape Makefile.
# The network-available software is a part of the cascade expert system for
# multivariable controller design using the LQG/LTR methodology.  The complete
# distribution is available on Sun 1/4" (60Mbyte or 150Mbyte) or Sun 8mm tapes,
# as a tar file, only.  The expert system requires the Quintus Prolog 
# development environment for compilation and execution.  The cascade 
# distribution tape and/or printed documentation is available from J. D.
# Birdwell at the address below; a fee is charged to cover the cost of media 
# and duplication.  The cascade expert system and tools are known to work only
# on Sun 3 workstations at the present time.
# No warranty is made concerning the quality of the cascade software or its
# applicability.  The software available as a part of netlib has been placed in
# the public domain by the authors, as a part of the cascade development 
# project, sponsored by the U.S.  Department of Energy.  Several authors 
# contributed to this project; they are cited in the manuals.
# The cascade tools require several include files which netlib will not
# automatically send; to receive them, request:
#   send Parameter.f from cascade
#   send dpcommon.f from cascade
#   send dpcom.f from cascade
#   send commands.h from cascade
# You will also need the main program for the tools, headercode.c, in order
# to invoke the tools from the command line:
#   send headercode.c from cascade
# For further information, contact:
#   J. D. Birdwell
#   Department of Electrical and Computer Engineering
#   The University of Tennessee
#   Knoxville, TN 37996-2100
#   e-mail: or birdwell@utkux1.bitnet
#    ========================================================================
# 		  Contents of the Cascade Subroutine Library
# 			      Special Functions

file	ahcon.f  ahcon.f plus dependencies
for	"ad-hoc" controllability calculation

file	gauss.f  gauss.f plus dependencies
for	Gaussian pseudo-random number generator

file	gfba.f  gfba.f plus dependencies
for	 general frequency balancing algorithm

file	icnvrt.f
for	integer <-> character conversion

file	rand.f  rand.f plus dependencies
for	 uniformly distributed pseudo-random numbers on [0,1]

# 		    Regulator and Filter Design Software

file	ckbf.f  ckbf.f plus dependencies
for	 continuous time Kalman filter design program

file	creg.f  creg.f plus dependencies
for	 continuous time LQR design program

# 			   Riccati Equation Solver
# The following routines comprise RICPACK, written by Arnold and Laub;
# some of the code is based upon other work, as referenced in the
# documentation.  the main entry points are ricsol and fbgain.

file	cmprs.f  cmprs.f plus dependencies
for	forms a compressed matrix pencil for the GARE

file	exchqz.f  exchqz.f plus dependencies
for	exchange diagonal blocks of the upper Hessenberg pencil a-s*b

file	fbgain.f  fbgain.f plus dependencies
for	find the optimal gain from the GARE solution, discrete or conts

file	giv.f
for	  forms a Givens rotation

file	newt.f  newt.f plus dependencies
for	 Newton iteration to GARE solution

file	order.f  order.f plus dependencies
for	reorders diagonal blocks of Hessenberg pencil a-s*b

file	resid.f  resid.f plus dependencies
for	calculate GARE residual and its 1-norm

file	ricsol.f  ricsol.f plus dependencies
for	calculates GARE solution, discrete or continuous time

file	rinv.f  rinv.f plus dependencies
for	 used in solution to continuous time GARE

file	rotc.f
for	 Givens rotation on columns

file	rotr.f
for	 Givens rotation on rows

file	sepest.f  sepest.f plus dependencies
for	used to estimate condition

file	sequiv.f  sequiv.f plus dependencies
for	used to form compressed problem

# 		       Frequency Response Computations

file	dfrmg.f  dfrmg.f plus dependencies
for	calculate frequency response at single frequency

file	dhetr.f
for	reduction of submatrix of real general matrix to up. Hess. form

file	zheco.f  zheco.f plus dependencies
for	lu factor & condition estimate of up. Hess. matrix

file	zhefa.f  zhefa.f plus dependencies
for	lu factor of upper Hessenberg matrix

file	zhesl.f
for	solve complex upper Hessenberg system H*X=B

# 			 Matrix Exponential Routines

file	pade.f  pade.f plus dependencies
for	 calculate approx. of exp(a*t) and several integrals

file	pade8m.f  pade8m.f plus dependencies
for	calculate approx. of exp(a)

# 		       Computation of Poles and Zeros

file	eigen.f  eigen.f plus dependencies
for	find eigenvalues and eigenvectors of real general matrix

file	housh.f
for	a Householder transformation

file	mvzero.f    
for   computes finite multivariable zeros of a conts linear system

file	pivot.f
for	finds maximal element of vector and its location

file	rduce.f  rduce.f plus dependencies
for	extracts a reduced system with same transmission zeros

file	tr1.f
for	  a Householder transformation

file	tr2.f
for	  a Householder transformation

file	zeros.f  zeros.f plus dependencies
for	extract pencil defining zeros of original system

# 			  Ward's Balancing Routines

file	balgbk.f  balgbk.f plus dependencies
for	back transform eigenvectors to original problem

file	balgen.f  balgen.f plus dependencies
for	balance generalized eigenproblem

file	balinv.f
for	inverse transformation of balanc (eispack)

file	gradbk.f
for	back transform eigenvectors from gradeq

file	gradeq.f
for	grade the submatrices of A and B

file	qzhesw.f
for	first step of QZ algorithm

file	qzitw.f
for	second step of QZ algorithm

file	reduce.f
for	reduce order of generalized eigenproblem if possible

file	scalbk.f
for	back transform from reduce and/or scaleg

file	scaleg.f
for	scale original problem

# 			  Lyapunov Equation Solvers

file	dstslv.f  dstslv.f plus dependencies
for	solve A'*X*A - X = C, C symmetric & A up. RSF

file	lypcnd.f  lypcnd.f plus dependencies
for	solve F'*X + X*F + H = 0 by Bartels-Stewart

file	lypdsd.f  lypdsd.f plus dependencies
for	solve F'*X*F - X = H by modified Bartels-Stewart

file	symslv.f  symslv.f plus dependencies
for	solve A'*X + X*A + C = 0, C symmetrix & A up. RSF

file	hqrort.f
for	compute up. real Schur form (RSF); mod of HQR2

# 			   Linear Equation Solvers

file	gausel.f
for	Gaussian elimination

file	lineq.f  lineq.f plus dependencies
for	solves A*X=B for B a vector w/ cond. est.; uses dgecom and dgeslm

file	mlineq.f  mlineq.f plus dependencies
for	solves A*X=B for B a matrix w/ cond. est.; uses dgecom and dgeslm

file	mpinv.f  mpinv.f plus dependencies
for	calculate Moore-Penrose pseudo-inverse of real gen. A

# 			  Modified LINPACK Routines

file	dgecom.f  dgecom.f plus dependencies
for	lu decomposition w/ cond. est.

file	dgefam.f
for	lu decomposition

file	dgeslm.f
for	solution of A*X=B using lu factors

# 			   Input / Output Routines
# Note: see the Cascade Tools and Knowledge Base
# manual ( for file formats.

file	insys.f  insys.f plus dependencies
for	read a system container file

file	filext.f
for	modifies a file name by adding or changing an extension

file	fmout.f
for	formatted matrix output

file	mout.f
for	 free format ascii matrix output

file	outsys.f  outsys.f plus dependencies
for	writes a system container file

# 		     Basic Matrix Manipulation Routines

file	cpycol.f
for	copy a column of a matrix (vector)

file	d1nrm.f
for	compute 1-norm of a matrix

file	dcl1.f
for	 function to return 1-type magnitude of complex number

file	fnorm.f
for	compute Frobenius or Euclidean matrix norm of square matrix

file	madd.f
for	 matrix addition

file	mmul.f
for	 matrix multiplication

file	mqf.f
for	  symmetric matrix product, X'*S*X

file	mqfa.f
for	 symmetric matrix product, X'*X

file	mqfwo.f  mqfwo.f plus dependencies
for	symmetric matrix product, X'*S*X, stored in S

file	mscale.f
for	scalar matrix product, a*X

file	msub.f
for	 matrix subtraction

file	mula.f
for	 matrix product, A*B, stored in A

file	mulb.f
for	 matrix product, A*B, stored in B

file	mulwoa.f
for	matrix product, A*B, stored in A

file	mulwob.f
for	matrix product, A*B, stored in B

file	save.f
for	 copy a matrix

file	symprd.f  symprd.f plus dependencies
for	symmetric matrix product, X'*A*X

file	trnata.f
for	replace a matrix in an array with its transpose (in place)

file	trnatb.f
for	form matrix transpose

file	xty.f
for	  matrix product, X'*Y

file	xyt.f
for	  matrix product, X*Y'

file	zl1nrm.f
for	compute 1-norm of complex vector and scale vector by its norm

# ========================================================================
# 			      The Cascade Tools
# Note:  These tools are intended primarily for use by the cascade expert 
# system, which implements a version of the LQG/LTR multivariable controller 
# design methodology.  All of the tools can be run from the Unix or VMS/DCL 
# command line, but some are not very useful except to the expert system.  The
# tools can also be called as subroutines in other programs.  As commands, all
# the tools expect command line arguments providing parameters and necessary 
# files.  These are provided as elements of the argument lists when the tools 
# are accessed as subroutines.  File formats and the command line formats are 
# described in the manual.  All the tools require several include files in 
# order to compile, which define limits on array and matrix sizes and other 
# parameters.  The tool contained in the file "svplot.f" requires the cgs/ncar
# graphics library, but can be modified to use any low-order line graphics 
# library.
# The tools all use a common command line parser, contained in the file
# "headercode.c".  The commands to be built into headercode are defined in
# "commands.h", included in headercode.c.  There is currently a problem with 
# this code's execution on Sun 4 machines.  If you wish the patch when it 
# becomes available, contact J.  D.  Birdwell,
# Notification will be available only via e-mail.  The tools are linked with
# headercode.c into one large file, and, on Unix, links are defined from the
# toolname (e.g.  aolsys) to the headercode executable.  Which tool is to be
# executed is determined by the name of this link.  On VMS systems, a command
# definition file is required; contact J.  D.  Birdwell for its availability.
# The tools were originally developed under a VMS/DCL environment, but have 
# since been ported to Unix The command line software may or may not work 
# under recent releases of VMS; it has not been tested.
# headercode.c  main program used to access all tools from the command line

file	aolsys.f  aolsys.f plus dependencies
for	Analyze Open Loop System

file	auginp.f  auginp.f plus dependencies
for	Augment at Input

file	augout.f  augout.f plus dependencies
for	Augment at Output

file	augsqr.f  augsqr.f plus dependencies
for	Augment-Square

file	balsvd.f  balsvd.f plus dependencies
for	Balance Singular Values

file	dlohi.f
for	Decide Low or High

file	evlbnd.f  evlbnd.f plus dependencies
for	Evaluate Bounds

file	exmsys.f  exmsys.f plus dependencies
for	Examine System

file	kbf.f  kbf.f plus dependencies
for	  KBF

file	kbffwc.f  kbffwc.f plus dependencies
for	KBF Find Wcmin

file	lqr.f  lqr.f plus dependencies
for	  LQR

file	lqrfwc.f  lqrfwc.f plus dependencies
for	LQR Find Wcmin

file	ltrkbf.f  ltrkbf.f plus dependencies
for	LTR using KBF

file	ltrlqr.f  ltrlqr.f plus dependencies
for	LTR using LQR

file	makbnd.f
for	Make Bounds

file	makmat.f
for	Make Matrices

file	rankv.f  rankv.f plus dependencies
for	Rank of V

file	svplot.f  svplot.f plus dependencies
for	Svplot and Bounds