Re: Help Mathematica - Generating Patterns
- To: mathgroup at smc.vnet.net
- Subject: [mg54887] Re: [mg54852] Help Mathematica - Generating Patterns
- From: "David Park" <djmp at earthlink.net>
- Date: Sat, 5 Mar 2005 01:34:31 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Here are a couple of routines that I have in one of my packages.
SymbolsToPatterns::usage =
"SymbolsToPatterns[symbollist][expr] will convert symbols in expression,
\
which are on symbollist, to named patterns.";
SymbolsToPatterns[symbols : {_Symbol ..}][expr_] :=
expr /. Thread[symbols -> (Pattern[#, Blank[]] & /@ symbols)]
LHSSymbolsToPatterns::usage =
"LHSSymbolsToPatterns[symbollist][expr] will apply SymbolsToPatterns to
\
the first part of expr.";
LHSSymbolsToPatterns[symbollist_][expr_] :=
MapAt[SymbolsToPatterns[symbollist], expr, 1]
{x1, x2, x3}
% // SymbolsToPatterns[{x1, x2, x3}]
{x1_, x2_, x3_}
Often we may have derived an equation and then wish to use the equation as a
substitution rule in subsequent derivations. That means we want to change
the equation into a rule and specified symbols on the left hand side into
patterns. Here is a trivial made-up example.
(x + y)^2 == Expand[(x + y)^2] // Reverse
rule = Rule @@ % // LHSSymbolsToPatterns[{x, y}]
x^2 + 2*x*y + y^2 == (x + y)^2
(x_)^2 + 2*(x_)*(y_) + (y_)^2 -> (x + y)^2
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: Awgn78 [mailto:robynobile at gmail.com]
To: mathgroup at smc.vnet.net
How i can obtain a list {x1_,x2_,x3_} from a list {x1, x2, x3}...
thank you for help and sorry for my bad english...i'm italian