Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2002
*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 2002

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

Search the Archive

More than one radical

  • To: mathgroup at smc.vnet.net
  • Subject: [mg35720] More than one radical
  • From: "Julio Vera" <jvera at adinet.com.uy>
  • Date: Sat, 27 Jul 2002 06:43:28 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Hello,

I have a list of expressions. Some of them include radicals. When the 
radical exponent is even, and the expression inside the radical is not a 
number, the corresponding element will not be defined if the expression 
inside the radical is negative. In such cases, I want to replace the 
original element by a list of elements which includes the element 
itself, and the expressions contained in such radicals.

I found a way to do this for the parcial case in which there is only one 
radical of that kind in an element. I tried to do it using ReplaceAll, 
but did not succeed. So I used this LONG way.

In[] v1 = {Sqrt[3]*x + 4, 5*x + x^2, 1 + Sqrt[2 + 5*x], (6*x - 
1)^(1/5) + 2,

3*x - (2*x - 1)^(1/6), (2 + x^3)^(1/8)}

Out[]  {4 + Sqrt[3]*x, 5*x + x^2, 1 + Sqrt[2 + 5*x], 2 + (-1 + 
6*x)^(1/5),

3*x - (-1 + 2*x)^(1/6), (2 + x^3)^(1/8)}

In[] =
p1=Position[v1,Power[a_,Rational[1,b_]]/;EvenQ[b]/;NumberQ[a]==True]

Out[] {{3,2},{5,2,2},{6}}

In[] p1f=p1/.{a_Integer,___}=AEa

Out[] {3,5,6}

In[] vv1[{a__}]:=v1[[a]]

In[] =
new1=Table[{v1[[p1f[[i]]]],vv1[p1[[i]]]},{i,Length[p1]}]/.{a_,Power[b_,
Rational[1,_]]}=AE{a,b}

Out[] {{1 + Sqrt[2 + 5*x], 2 + 5*x}, {3*x - (-1 + 2*x)^(1/6), -1 + 2*x}, 


{(2 + x^3)^(1/8), 2 + x^3}}

In[] s1=ReplacePart[v1,new1,Split[p1f],Split[Range[Length[p1]]]]

Out[] {4 + Sqrt[3]*x, 5*x + x^2, {1 + Sqrt[2 + 5*x], 2 + 5*x}, 2 + (-1 + 
6*x)^(1/5),

{3*x - (-1 + 2*x)^(1/6), -1 + 2*x}, {(2 + x^3)^(1/8), 2 + x^3}}

When more than one of these situation occur in an element, this method 
does not work.

In[] v3 = {Sqrt[3]*x + 4, 5*x + x^2, 1 + Sqrt[2 - (x^3 - 3*x - 
8)^(1/4) + 5*x],

(6*x - 1)^(1/5) + 2, 3*x - (2*x - 1)^(1/6),

(2*x^(1/4) + x^3*(4*x^2 - 3)^(1/10))^(1/8)}

{4 + Sqrt[3]*x, 5*x + x^2, 1 + Sqrt[2 + 5*x - (-8 - 3*x + x^3)^(1/4)],

2 + (-1 + 6*x)^(1/5), 3*x - (-1 + 2*x)^(1/6),

(2*x^(1/4) + x^3*(-3 + 4*x^2)^(1/10))^(1/8)}

What I want to get is

In[] sol3 = {Sqrt[3]*x + 4, 5*x + x^2, {1 + Sqrt[2 - (x^3 - 3*x - 
8)^(1/4) + 5*x],

2 - (x^3 - 3*x - 8)^(1/4) + 5*x, x^3 - 3*x - 8}, (6*x - 1)^(1/5) + 2,

{3*x - (2*x - 1)^(1/6), 2*x - 1}, {(2*x^(1/4) + x^3*(4*x^2 - 
3)^(1/10))^(1/8),

2*x^(1/4) + x^3*(4*x^2 - 3)^(1/10), x, 4*x^2 - 3}}

I don=B4t see how I can use ReplacePart in this situation, because the 
new elements will have different lengths.

In[] =
p3=Position[v3,Power[a_,Rational[1,b_]]/;EvenQ[b]/;NumberQ[a]==True]

Out[] {{3,2,1,3,2},{3,2},{5,2,2},{6,1,1,2},{6,1,2,2},{6}}

 I could do it step by step. But, since I do not know in advance the 
number of occurrences, I would have to change the formulas every time 
the input changes.

Thanks for your help,

Julio



  • Prev by Date: Re: Substitution!!!
  • Next by Date: RE: ToExpression
  • Previous by thread: RE: solving for variables in terms of other variables
  • Next by thread: Re: Mathematica function writing for data analysis at Gould Academy [Correction]