Re: Symbols in expression

*To*: mathgroup at smc.vnet.net*Subject*: [mg89099] Re: [mg89079] Symbols in expression*From*: DrMajorBob <drmajorbob at att.net>*Date*: Sun, 25 May 2008 06:27:35 -0400 (EDT)*References*: <15605470.1211701065210.JavaMail.root@m08>*Reply-to*: drmajorbob at longhorns.com

It all depends. eqns = Array[r, 3] == {Cos[u] Sin[v], Sin[u] Sin[v], Cos[v]} // Thread; Reduce[eqns, {u, v}] will return MANY solutions (not shown here). Wade through that thicket if you care to, but inspection yields a simpler approach. The third equation is easily solved: Solve[eqns1[[-1]], v] Solve::ifun: Inverse functions are being used by Solve, so some \ solutions may not be found; use Reduce for complete solution \ information. >> {{v -> -ArcCos[r[3]]}, {v -> ArcCos[r[3]]}} Dividing the first and second equations gives sides = List @@@ eqns; Solve[Equal @@ (sides[[1]]/sides[[2]]), u] Solve::ifun: Inverse functions are being used by Solve, so some \ solutions may not be found; use Reduce for complete solution \ information. >> {{u -> ArcCot[r[1]/r[2]]}} That cover mosts cases, but you still have to decide what sign to give v and what to do when r[2] and/or r[2] is zero. (Either way, the rule for u gives an undefined result.) Bobby On Sun, 25 May 2008 02:22:00 -0500, <sigmundv at gmail.com> wrote: > Dear all, > > Define, say, > > r = {Cos[u] Sin[v],Sin[u] Sin[v],Cos[v]}. > > How can I write a function, which takes r as an argument and returns a > list {u,v}? If we defined r[u_,v_]:=... it could be achieved fairly > easily using DownValues. But how can I achieve it in this case? > > Kind regards, > Sigmund Vestergaard > > -- DrMajorBob at longhorns.com