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
>
- References:
- Polar coordinates - ReplaceAll issue
- From: Andrej <andrej.kastrin@gmail.com>
- Polar coordinates - ReplaceAll issue