Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Replies: 1   Last Post: Feb 4, 2013 10:23 PM

 Bob Hanlon Posts: 906 Registered: 10/29/11
Posted: Feb 4, 2013 10:23 PM

c = Cases[x, Power[_]];
If[Length[c] > 0, x /. c[[1]] -> -c[[1]], x]]

n /. (y_.*Sqrt[z_] + x_. -> x - y*Sqrt[z]);

testData = {a + b Sqrt[c], a Sqrt[b] + c Sqrt[d],
c Sqrt[d] + a Sqrt[b], a Sqrt[b]};

{-a + b Sqrt[c], -a Sqrt[b] + c Sqrt[d], -a Sqrt[b] + c Sqrt[d], -a Sqrt[b]}

{a - b Sqrt[c], -a Sqrt[b] + c Sqrt[d], -a Sqrt[b] + c Sqrt[d], -a Sqrt[b]}

Note the difference in the handling of the first test case.

Bob Hanlon

On Mon, Feb 4, 2013 at 1:21 AM, Francisco Javier Garc=EDa Capit=E1n
<garciacapitan@gmail.com> wrote:
>
> Hello, I wanted a function that takes a numerical expression of the form
>
> a + b Sqrt[c]
>
> or
>
> a Sqrt[b] + c Sqrt[d]
>
> and returns its conjugate, namely a - b Sqrt[c] and (a Sqrt[b] - c
> Sqrt[d]) respectively.
>
> I wrote
>
> c = Cases[x, Power[_]];
> If[Length[c] > 0, x /. c[[1]] -> -c[[1]], x]
> ]
>
> and it seems that it works. Anyway, do you have a different approach?
>
> Thank you.
>
> --
> ---
> Francisco Javier Garc=EDa Capit=E1n
> http://garciacapitan.99on.com
>
>