From: David B. <Dav...@mo...> - 2005-02-27 16:48:05
|
Rafael Laboissiere wrote: >package octave-forge >tags 295395 upstream >forwarded 295395 oct...@li... >thanks > >----- Forwarded message from Dennis J=F8rgensen <dnj@x.dtu.dk> ----- > >From: Dennis J=F8rgensen <dnj@x.dtu.dk> >Subject: octave-forge: Replacing a submatrix of a sparse matrix results = in a full > matrix >Date: Tue, 15 Feb 2005 16:28:50 +0100 >To: Debian Bug Tracking System <su...@bu...> > >Package: octave-forge >Version: 2004.11.16-3 >Severity: normal > > >With the following commands, I would have expected matrix A to >stay sparse: > >octave:1> A =3D sparse(4,4); >octave:2> A([1 2 4],[1 2 4]) =3D sprand(3,3,0.2); >octave:3> issparse(A) >ans =3D 0 > > >Same commands in Matlab: > > > =20 > >>>A =3D sparse(4,4); =20 >>>A([1 2 4],[1 2 4]) =3D sprand(3,3,0.2); >>>issparse(A) >>> =20 >>> > >ans =3D > > 1 > > >Replacing sprand() with something returning a full matrix yields >the same results: sparse 'A' in Matlab, full in Octave. > > > >Regards, > > > Dennis J??rgensen > =20 > Yes, I know. This is what made me start writing the sparse matrix patch=20 that is currently in the unstable CVS of octave. I started to write a=20 patch to the assign functions for the sparse matrix code and quickly=20 found myself with 2,000 lines of code, and felt if I was going to do=20 that, that I might as well replace the whole thing. The good news is as=20 this was the problem that made me start writing this code, the assign=20 behaviour of the sparse matrices in the unstable octave CVS work as you=20 would expect.... Downside, is that I don't expect a patch for the=20 octave-forge version of the sparse matrix code, as it is completely=20 superseded by the version in octave itself.. D. |