<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>