Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*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 2005

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

Search the Archive

Re: symbolic quaternionic analysis

  • To: mathgroup at smc.vnet.net
  • Subject: [mg55561] Re: symbolic quaternionic analysis
  • From: Paul Abbott <paul at physics.uwa.edu.au>
  • Date: Wed, 30 Mar 2005 03:20:56 -0500 (EST)
  • Organization: The University of Western Australia
  • References: <d20r0d$bad$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <d20r0d$bad$1 at smc.vnet.net>,
 danieldaniel at gmail.com (Daniel Alayon Solarz) wrote:

> At the end of this message is my code to handle what the title refers to.
> 
> I have two questions, 
> 
> 1) is there any other? 

You have looked at the Quaternions package, Algebra`Quaternions` ?

> 2) I am interested in functional analysis, is Mathematica capable of handle 
> that?

It is extensible. For example, have a look at
 
 http://physics.uwa.edu.au/pub/Mathematica/MathGroup/Quaternions.nb

> p[t_, x_, y_, z_] := {t, {x, y, z}}
> m[p[t1_, x1_, y1_, z1_], 
>     p[t2_, x2_, y2_, z2_]] := {t1*t2 - Dot[{x1, y1, z1}, {x2, y2, z2}], 
>     t1*{x2, y2, z2} + t2*{x1, y1, z1} + Cross[{x1, y1, z1}, {x2, y2, z2}]}

The result of the multiplication should itself be a quaternion. You are 
returning just a list. Also you could work with the vector part 
{x, y, z} as a single object.

> Pwr[p[t_, x_, y_, z_], 0] := { 1, {0, 0, 0}}
> Pwr[p[t_, x_, y_, z_], 1] := p[t, x, y, z]
> Pwr[p[t_, x_, y_, z_], n_] := m[Pwr[p[t, x, y, z], n - 1], p[t, x, y, z]]

Note that de Moivre's identity holds for quaternions. The n-th power of

  Quaternion[s, v]

where v = {x,y,z} is

  Quaternion[Re[(s + I r)^n], v/r Im[(s + I r)^n]]

where r = Sqrt[v.v]. This result can be used, formally at least, to 
implement analytic functions with real coefficients.

> RFueter[{a_, {b_, c_, d_}}] := 
>   m[D[{a, {b, c, d}}, t], p[1, 0, 0, 0]] + 
>     m[D[{a, {b, c, d}}, x], p[0, 1, 0, 0]] +
>     m[D[{a, {b, c, d}}, y], p[0, 0, 1, 0]] +
>     m[D[{a, {b, c, d}}, z], p[0, 0, 0, 1]]
> LFueter[{a_, {b_, c_, d_}}] := 
>   m[p[1, 0, 0, 0], D[{a, {b, c, d}}, t]] + 
>     m[p[0, 1, 0, 0], D[{a, {b, c, d}}, x]] +
>     m[p[0, 0, 1, 0], D[{a, {b, c, d}}, y]] +
>     m[p[0, 0, 0, 1], D[{a, {b, c, d}}, z]]

I am aware of the Cauchy-Riemann-Fueter equations but this does not look 
like a correct implementation of them to me. I also have copies of 
papers by Deavours, Sudbury, and Sweetster that may be of interest to 
you.

Cheers,
Paul

-- 
Paul Abbott                                   Phone: +61 8 6488 2734
School of Physics, M013                         Fax: +61 8 6488 1014
The University of Western Australia      (CRICOS Provider No 00126G)         
35 Stirling Highway
Crawley WA 6009                      mailto:paul at physics.uwa.edu.au 
AUSTRALIA                            http://physics.uwa.edu.au/~paul


  • Prev by Date: Mathematica hangs when solving sys. of equations w/ certain parameters
  • Next by Date: Re: Much faster ConvexHull implementation
  • Previous by thread: Re: symbolic quaternionic analysis
  • Next by thread: MapAt changes its response towards different expressions