Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Bug in pattern parsing?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg62007] Re: Bug in pattern parsing?
  • From: Peter Pein <petsie at dordos.net>
  • Date: Wed, 9 Nov 2005 03:45:21 -0500 (EST)
  • References: <dkpp0q$rfh$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Kristjan Kannike schrieb:
> Hello,
> 
> I may have discovered a bug in pattern parsing or applying transformation
> rules.
> 
> The following two rules should be equivalent:
> 
> rule1 = c_.*X_.Y_ -> X.Y
> 
> with c an optional variable, and
> 
> rule2 = c_.*Dot[X_, Y_] -> X.Y
> 
> Yet applying rule1 on a.b as
> 
> a.b/.rule1
> 
> gives
> 
> 1.a.b
> 
> (the same result obtains for the optional factor actually present as in
> const a.b), but
> 
> a.b/.rule2
> 
> gives
> 
> a.b
> 
> as it should.
> 
> I think that it has to do with the dot in c_., but curiously I get the
> same result when writing the LHS of rule1 as Optional[c]*Y.Z and that
> confuses me...
> 
> Any thoughts?
> 
> Kristjan Kannike
> <http://www.physic.ut.ee/~kkannike/english/>
> 

Hi Kristjan,

the parser can not know what the user has in mind (and vice versa ;-) ).
Try a space between X_ and the dot or write c_.(X_).Y_

Peter


  • Prev by Date: Fitting numerical data
  • Next by Date: Re: integer solution
  • Previous by thread: Re: Bug in pattern parsing?
  • Next by thread: Re: Bug in pattern parsing?