MathGroup Archive 2010

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

Search the Archive

Re: Polar coordinates - ReplaceAll issue

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107491] Re: [mg107479] Polar coordinates - ReplaceAll issue
  • From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
  • Date: Sun, 14 Feb 2010 08:17:15 -0500 (EST)
  • References: <201002141058.FAA25972@smc.vnet.net>

Hi,

if you want to replace something, then you have to use a Rule or a
RuleDelayed! Paste to following into a notebook

Rule[a, b]
a -> b
RuleDelayed[a, b]
a :> b

and see, that this has *nothing* to do with an \[RightArrow]. Changing
this and your sample is syntactically correct:

Needs["MultivariateStatistics`"]
X = {x1, x2};
mu = {0, 0};
Sigma = sigma^2 ({{1, rho}, {rho, 1}});
dist = MultinormalDistribution[mu, Sigma];
cond = {sigma > 0, -1 < rho < 1, r > 0, 0 < theta < 2 \[Pi]};
f = Simplify[PDF[dist, X], cond]
domain[f] = {{x1, -\[Infinity], \[Infinity]}, {x2, -\[Infinity], 
\[Infinity]}} && cond;

Omega = {x1 :> r Cos[theta], x2 :> r Sin[theta]};
g = Simplify[(f /. Omega) Jacob[X /. Omega, {r, theta}], cond]


Cheers
Patrick


On Sun, 2010-02-14 at 05:58 -0500, Andrej wrote:
> Hi,
> 
> this is my first post to this group. Yes, I'm a newbie in Mathematica.
> I'm trying to compute the probability of circular disc (in R^2).
> Suppose that vertical and horizontal deviations from the center of the
> disc follows bivariate normal distribution. I hope that the code below
> is self explained. The main issue is the transformation from Cartesian
> to polar coordinates as follows:
> 
> # First I set up the appropriate bivariate normal distribution:
> Needs["MultivariateStatistics`"]
> X = {x1, x2};
> mu = {0, 0};
> Sigma = sigma^2 ({{1,rho}, {rho,1}});
> dist = MultinormalDistribution[mu, Sigma];
> cond = {sigma > 0, -1 < rho < 1, r > 0, 0 < theta < 2 \[Pi]};
> f = Simplify[PDF[dist, X], cond]
> domain[f] = {{x1, -\[Infinity], \[Infinity]}, {x2, -\[Infinity], \
> [Infinity]}} && cond;
> 
> # Transformation to polar coordinates:
> Omega = {x1 \[RightArrow] r Cos[theta], x2 \[RightArrow] r
> Sin[theta]};
> g = Simplify[(f /. Omega) Jacob[X /. Omega, {r, theta}], cond]
> 
> And the message I get:
> 
> ReplaceAll::reps: {x1\[RightArrow]r Cos[theta],x2\[RightArrow]r
> Sin[theta]} is neither a list of replacement rules nor a valid
> dispatch table, and so cannot be used for replacing. >>
> 
> Thanks in advance for any suggestions or pointers.
> 
> Best, Andrej
> 



  • Prev by Date: Re: Polar coordinates - ReplaceAll issue
  • Next by Date: Re: When can Mathematica have a decent Find dialogue?
  • Previous by thread: Re: Polar coordinates - ReplaceAll issue
  • Next by thread: Re: Polar coordinates - ReplaceAll issue