Re: How can I perform Matrix comparison?Can any one with kindness help
- To: mathgroup at smc.vnet.net
- Subject: [mg114840] Re: How can I perform Matrix comparison?Can any one with kindness help
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Sun, 19 Dec 2010 05:11:12 -0500 (EST)
On 12/17/10 at 11:48 PM, readnews at sbcglobal.net (Bill Rowe) wrote: >On 12/17/10 at 3:29 AM, fmingu at 163.com (fmingu) wrote: >>I am using mathematica for practical purpose. I wonder how can I >>perform Matrix comparison. >>For instance: a={{2,3},{4,5}}; b={{1,2},{2,3}}; >>a>b I want the result is True. But it seems that Mathematica can >>not recognize it. I do not know how I can solve it? Are there any >>additional package to be added? Can any one with kindness help me? >The result of a>b isn't defined in Mathematics when a and b are >matrices. So, it should be no surprise there isn't a built in >function or package to do this comparison. But there are a number of >ways to achieve the desired result. For example: >In[7]:= And @@ Flatten@Map[Less, Transpose[{a, b}, {1, 3, 2}], {2}] >Out[7]= True >or >In[8]:= And @@ (Greater @@@ Transpose[Flatten /@ {a, b}]) >Out[8]= True After looking at this again, I realized the Transpose operation above isn't arranging the elements in a manner to compare elements of a with elements of b as intended. So, here is another simple approach: In[12]:= Total[Sign[a - b], 2] == Times @@ Dimensions[a] Out[12]= True