Re: problem with DumpSaving SparseArrays in 6.0
- To: mathgroup at smc.vnet.net
- Subject: [mg75717] Re: [mg75656] problem with DumpSaving SparseArrays in 6.0
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Wed, 9 May 2007 04:29:14 -0400 (EDT)
- References: <5896993.1178622176403.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
Here's a slightly more complete demonstration: b = a = SparseArray[{2, 3} -> 7, {5, 5}]; DumpSave["test.mx", b]; << "test.mx" a == b True Dimensions /@ {a, b} {{5, 5}, {}} a & b are equal, but they don't have the same dimensions!! Not only that, but if you highlight and copy the output cell text: b \!\(\* TagBox[ RowBox[{"SparseArray", "[", RowBox[{"Automatic", ",", RowBox[{"{", RowBox[{"5", ",", "5"}], "}"}], ",", "0", ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "1", ",", "1", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"{", "3", "}"}], "}"}]}], "}"}], ",", RowBox[{"{", "7", "}"}]}], "}"}]}], "]"}], False, Editable->False]\) and paste it in a new cell, SparseArray[Automatic, {5, 5}, 0, {1, {{0, 0, 1, 1, 1, 1}, {{3}}}, {7}}] Dimensions[%] \!\(\* TagBox[ RowBox[{"SparseArray", "[", RowBox[{ InterpretationBox[ RowBox[{"\<\"<\"\>", "", "1", "", "\<\">\"\>"}], SequenceForm["<", 1, ">"], Editable->False], ",", RowBox[{"{", RowBox[{"5", ",", "5"}], "}"}]}], "]"}], False, Editable->False]\) {5, 5} NOW you have the correct matrix. Bizarro. Bobby On Tue, 08 May 2007 04:46:01 -0500, Roman <rschmied at gmail.com> wrote: > Hello all, > There seems to be a problem with DumpSave and SparseArray in 6.0. If > you DumpSave a simple SparseArray like this: > > A = SparseArray[{2, 3} -> 7, {5, 5}]; > DumpSave["test.mx", A]; > > then read it back: > > << "test.mx" > A > > you get the following output: > SparseArray[Automatic, {5, 5}, 0, {1, {{0, 0, 1, 1, 1, 1}, {{3}}}, > {7}}] > > While this is correct in principle, in practice A is now no longer > usable. Try, for example, > MatrixForm[A] > This will complain, just like any other use of A as a matrix will. > > Do you have any idea for a workaround, to convert A back into a usable= > matrix? > > Thanks! > Roman. > > > -- = DrMajorBob at bigfoot.com