How to abort or stop this (accidently large defined) SparseArray production?
s = N[SparseArray[Table[{2^i, 4} -> i, {i, 30}]]]
Alt+. or Alt+, seem to give up. Even your Windows task manager is struggling.
Could use $Pre to wrap things in MemoryConstrained. I'll illustrate with an unusually tight constraint.
SetAttributes[memcon, HoldAll]
memcon[new_] := MemoryConstrained[new, 10^4]
$Pre = memcon;
Examples:
ByteCount[Range[10^6]]
(* Out[4]= $Aborted *)
s = N[SparseArray[Table[{2^i, 4} -> i, {i, 20}]]]
(* Out[5]= $Aborted *)
$Pre
as I did in my earlier question this is an excellent method. I recommend it to anyone using version 7 or earlier. Belisarius gives a nice method for v8+ in the linked thread that does not tie up $Pre
.
$\endgroup$
Commented
Jan 14, 2013 at 1:14
SparseArray
s that's exceeded here?
$\endgroup$
InputForm[SparseArray[Table[{2^i, 4} -> i, {i, 5}]]]
seems to show a dense 1-d listwith the jth element indicating how many nontrivial elements have been seen prior to row j. That at least is my guess.
$\endgroup$
Commented
Jan 29, 2013 at 22:42
Evaluation->Quit Kernel -> Local
often succeeds whereAbort Evaluation
fails for me. $\endgroup$