Re: Fast matrices comparison
- To: mathgroup at smc.vnet.net
- Subject: [mg115908] Re: Fast matrices comparison
- From: Ray Koopman <koopman at sfu.ca>
- Date: Tue, 25 Jan 2011 06:30:06 -0500 (EST)
- References: <ihm4j0$kcm$1@smc.vnet.net>
On Jan 25, 1:19 am, JJ <wateronwildf... at gmail.com> wrote:
> Hi MathGroup
>
> I have to compare two big matrices (in the SparseArray form), say m1 and m2.
> I need that the elements of m1 will be replaced by 0 if they are less or
> equal to the corresponding elements of m2.
>
> For example, if m1={{8,7},{3,9}} and m2={{2,3},{4,5}},
> I would like to have m1={{8,7},{0,9}} because m1[[2,1]]<m2[[2,1]].
>
> I can do it easily with two nested for loops but I think it is not an
> efficient way to do it.
> I was wondering if somebody knows how to do it using a fast conditional
> replacement rule and/or pure functions.
>
> Thank you.
m1 * (1 - UnitStep[m2-m1])