Code covered by the BSD License  

Highlights from
slatec

from slatec by Ben Barrowes
The slatec library converted into matlab functions.

[n,b,x,nelt,ia,ja,a,isym,rwork,iwork]=ssli(n,b,x,nelt,ia,ja,a,isym,rwork,iwork);
function [n,b,x,nelt,ia,ja,a,isym,rwork,iwork]=ssli(n,b,x,nelt,ia,ja,a,isym,rwork,iwork);
%***BEGIN PROLOGUE  SSLI
%***PURPOSE  SLAP MSOLVE for Lower Triangle Matrix.
%            This routine acts as an interface between the SLAP generic
%            MSOLVE calling convention and the routine that actually
%                      -1
%            computes L  B = X.
%***LIBRARY   SLATEC (SLAP)
%***CATEGORY  D2A3
%***TYPE      SINGLE PRECISION (SSLI-S, DSLI-D)
%***KEYWORDS  ITERATIVE PRECONDITION, LINEAR SYSTEM SOLVE, SLAP, SPARSE
%***AUTHOR  Greenbaum, Anne, (Courant Institute)
%           Seager, Mark K., (LLNL)
%             Lawrence Livermore National Laboratory
%             PO BOX 808, L-60
%             Livermore, CA 94550 (510) 423-3141
%             seager@llnl.gov
%***DESCRIPTION
%       It is assumed that RWORK and IWORK have initialized with
%       the information required for SSLI2:
%          IWORK(1) = NEL
%          IWORK(2) = Starting location of IEL in IWORK.
%          IWORK(3) = Starting location of JEL in IWORK.
%          IWORK(4) = Starting location of EL in RWORK.
%       See the DESCRIPTION of SSLI2 for details.
%***REFERENCES  (NONE)
%***ROUTINES CALLED  SSLI2
%***REVISION HISTORY  (YYMMDD)
%   871119  DATE WRITTEN
%   881213  Previous REVISION DATE
%   890915  Made changes requested at July 1989 CML Meeting.  (MKS)
%   890922  Numerous changes to prologue to make closer to SLATEC
%           standard.  (FNF)
%   890929  Numerous changes to reduce SP/DP differences.  (FNF)
%   910411  Prologue converted to Version 4.0 format.  (BAB)
%   920511  Added complete declaration section.  (WRB)
%   921113  Corrected C***CATEGORY line.  (FNF)
%   930701  Updated CATEGORY section.  (FNF, WRB)
%***end PROLOGUE  SSLI
%     .. Scalar Arguments ..
%     .. Array Arguments ..
persistent locel lociel locjel nel ; 

rwork_shape=size(rwork);rwork=reshape(rwork,1,[]);
%     .. Local Scalars ..
if isempty(locel), locel=0; end;
if isempty(lociel), lociel=0; end;
if isempty(locjel), locjel=0; end;
if isempty(nel), nel=0; end;
%     .. External Subroutines ..
%***FIRST EXECUTABLE STATEMENT  SSLI
%
nel = fix(iwork(1));
lociel = fix(iwork(2));
locjel = fix(iwork(3));
locel = fix(iwork(4));
[n,b,x,nel,dumvar5,dumvar6,rwork(locel:locel+nel-1)]=ssli2(n,b,x,nel,iwork(lociel:lociel+nel-1),iwork(locjel:locjel+nel-1),rwork(locel:locel+nel-1));   dumvar5i=find((iwork(lociel:lociel+nel-1))~=(dumvar5));dumvar6i=find((iwork(locjel:locjel+nel-1))~=(dumvar6));   iwork(lociel-1+dumvar5i)=dumvar5(dumvar5i); iwork(locjel-1+dumvar6i)=dumvar6(dumvar6i); 
%
%------------- LAST LINE OF SSLI FOLLOWS ----------------------------
rwork_shape=zeros(rwork_shape);rwork_shape(:)=rwork(1:numel(rwork_shape));rwork=rwork_shape;
end
%DECK SSLLTI

Contact us at files@mathworks.com