Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

About EECS
EECS Overview
History / Impact
Diversity / Outreach
Map and Directions
Administration
Academics
Degree Programs
Undergrad Admissions
Graduate Admissions
Student Information
Courses/Objectives & Outcomes
Research
Areas
Centers
Projects
Publications
Visiting Scholars
People
Directory
Faculty
Staff
Students
Alumni
External Relations
Memberships
Student Recruitment
Entrepreneurial Activities
Calendar
Seminars
Conferences
Colloquium
News
   

SPARSE 1.3: A Sparse Linear Equation Solver

Sparse 1.3 is a flexible package of subroutines used to solve large sparse systems of linear equations quickly and accurately. The package can handle arbitrary real and complex square matrix equations. Besides solving linear systems, Sparse can also quickly solve transposed systems, find determinants, and estimate errors arising from ill-conditioning in the system of equations and instability in the computations. Sparse also provides a test program that can read matrix equations from a file, solve them, and print useful information about the equation and its solution.

Sparse 1.3 has replaced Sparse 1.2, providing greater capability and speed and a more refined interface to the calling program. Sparse is generally as fast as or faster than other popular sparse matrix packages when solving many matrices of similar structure. Sparse does not require or assume symmetry, and it can perform numerical pivoting to avoid unnecessary error in the solution. It handles its own memory allocation, sparing the user the trouble of providing adequate memory. It also has a natural, flexible, and efficient interface to the calling program.

Sparse was originally written for use in circuit simulators and is particularly adept at handling node- and modified-node admittance matrices. The systems of linear equations generated in a circuit simulator stem from solving large systems of nonlinear equations using Newton's method and integrating large stiff systems of ordinary differential equations. However, Sparse is also suitable for other uses, including solving the very large systems of linear equations resulting from the numerical solution of partial differential equations.

The package includes source for the Sparse subroutine library, the test program, and two sets of interface routines. The first set provides a Sparse 1.2 interface, to make Sparse 1.3 backward-compatible, and the second allows Sparse 1.3 to be called from FORTRAN programs. Also included in the package is a large collection of test matrices.

Documentation Included with the Program:

  1. Sparse 1.3 User's Guide. Available separately for $7.50
  2. Installation Notes.

Foreign Distribution: Yes