Re: Replacement rules for large matrixes
- To: mathgroup at smc.vnet.net
- Subject: [mg119859] Re: Replacement rules for large matrixes
- From: Gabriel Landi <gtlandi at gmail.com>
- Date: Sun, 26 Jun 2011 06:26:06 -0400 (EDT)
- References: <201106250927.FAA20147@smc.vnet.net>
Dear Daniel,
Thank you for the reply. My matrix is constructed from a system of
polynomial equations using CoefficientArrays.
Indeed, replacement does not work. What I was doing was (sadly)
SparseArray[Normal@matrix /.rules].
Gabriel
On Sat, Jun 25, 2011 at 6:27 AM, dr DanW <dmaxwarren at gmail.com> wrote:
> Is your matrix a nested list or a SparseArray[]? From your description, I
> am guessing it is a nested list. Try working with your matrix as a
> SparseArray[] instead.
>
> Next problem: Replace[] does not work on SparseArray[]'s. However, you can
> use BlockRules[] (code below) to do the replacement.
>
> Code for BlockRules[] by Andrew Moylen at Wolfram, from an earlier posting
> on this group that I can't find right now:
>
> SetAttributes[BlockRules, HoldRest];
>
> BlockRules[rules_, expr_] := Block @@ Append[Apply[Set, Hold[rules], {2}],
> Unevaluated[expr]]
>
> Enjoy,
> Daniel
>
>
- References:
- Re: Replacement rules for large matrixes
- From: dr DanW <dmaxwarren@gmail.com>
- Re: Replacement rules for large matrixes