<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello all,<br>
<br>
Since the umfpack interface has been integrated in scilab (thanks to
B. Pinçon work), I was wondering if his modified in-place insertion
algorithm had been also implemented ? <br>
<br>
On the same topic I have a question/request : I some applications a
sparse matrix needs to be updated at each iteration of an
optimization algorithm, e.g. when the elements of this matrix depend
on parameters which have to be identified. In such a case, the
sparsity pattern does not change, but all the elements of the matrix
need to be updated as fast as possible : this is impossible to do
this in an efficient way in scilab, since in place insertion of new
elements needs to write an explicit scilab loop. For example, once a
sparse matrix has been built like this <span
style="color:rgb(0,0,0);">:<br>
</span><br>
<br>
M1_ijv=[1,137,v(3)<br>
1,13,v(10)<br>
1,19,v(12)<br>
1,1,-(v(7)+v(9)+v(11)+v(66))<br>
2,138,v(3)<br>
2,14,v(10)<br>
2,20,v(12)<br>
[...]<br>
151,151,-(v(43)+v(43)+v(60)+v(73))];<br>
M1=sparse(M1_ijv(:,1:2),M1_ijv(:,3),[n1,n1]);<br>
<br>
<span style="color:rgb(0,0,0);"><br>
</span>Once v has been modified it should be possible to do
something like :<br>
<br>
entries=[v(3)<br>
v(10)<br>
v(12)<br>
-(v(7)+v(9)+v(11)+v(66))<br>
v(3)<br>
v(10)<br>
v(12)<br>
[...]<br>
-(v(43)+v(43)+v(60)+v(73))];<br>
<br>
spset(M1,entries);<br>
<br>
If I am right, the internal storage of scilab sparse matrices uses a
contiguous vector of the above nonzeros entries and two vectors of
indices, It should be easy to implement such a "spset" function. Do
you think it is worth writing a SEP ? <br>
<br>
S.<br>
</body>
</html>