File: sp2adj.sci

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (19 lines) | stat: -rw-r--r-- 581 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function [lp,ls,v]=sp2adj(A)
// A =  n x m sparse matrix
// lp, ls, v = adjacency representation of A i.e:
// lp(j+1)-lp(j) = # of non zero entries in row j
// ls = column index of the non zeros entries 
// in row 1, row 2,..., row n.
// v = values of non zero entries 
// in row 1, row 2,..., row n.
// lp is a (column) vector of size n+1
// ls is an integer (column) vector of size nnz(A).
// v is a real vector of size nnz(A).
[ij,v,n]=spget(A');
N=n(1);
if ij == [] then,
lp=ones(n(2)+1,1);ls=[];v=[];
else,
[lp,la,ls]=m6ta2lpd(ij(:,1)',ij(:,2)',N+1,N)
lp=lp(:);ls=ls(:);
end;