Title: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: cKleinhuis on August 16, 2014, 12:36:58 PM hi all, with a friend we are now attempting to formulate 2d and 3d mandelbrot equations in terms of clifford algebra, if anyone has experience in this field let us know, for me it is quite new, but simple clifford algrebras should be able to define a 2d mandelbrot and the mandelbulb should be as well definable in clifford algebra terms
the goal is to achieve a huge parameter space for creating nice 3d images ;) Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: cKleinhuis on August 16, 2014, 12:37:29 PM this is a paper discussing mandelbrot formula 2d using clifford algebras
http://arxiv.org/abs/hep-th/9507133 Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 16, 2014, 02:46:43 PM I've been meaning to play around with generalized complex and see what that looks like. I'd expect like figures 1-4...figures 5 and 6 not though. Humm..... (I only quickly skimmed the paper).
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: hermann on August 16, 2014, 05:06:39 PM The work of William Kingdon Clifford is based on the work of Hermann Grassmann
Clifford Algebra was named by William Kingdon Clifford himself Geometric Algebra. For applications often the name Geometric Algebra is used. Kram1023 started the following excellent thread on geometric algebra here at Fractal Forums: http://www.fractalforums.com/new-theories-and-research/geometric-algebra-geometric-calculus/ (http://www.fractalforums.com/new-theories-and-research/geometric-algebra-geometric-calculus/) An excellent introduction on Geometric Algebra can be found in the following paper of Alan Miller http://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=7943&context=etd_theses (http://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=7943&context=etd_theses) With Jehovajah we have an excellent expert on the work of Hermann Grassmann. Most of his posts here in fractal forums are on the work of Grassmann. With geometric algebra it is possible to create complex numbers, quarterions and hyper complex numbers. That means complex numbers of higher order. Hermann Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: kram1032 on August 16, 2014, 07:10:25 PM there is also the related http://www.fractalforums.com/new-theories-and-research/do-quaternions-need-revisiting/ which, I think, is what Roquen is referencing in his post in this thread. Looks like he is essentially gradually working towards that same goal, but using quaternions (a subset of 3D GA) instead of the full algebra.
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 16, 2014, 07:11:40 PM My knowledge is weak, but I'd say that Clifford's work combines even subspaces (complex,quaternions) with odd (vectors) into arbitrary dimensions covering all dimensional subspaces and signatures. And yeah that's a clear as mud. Start the zero dimensions (scalar only). You can extend (a la Grassmann) to 1 and have two sub-spaces: 0,1. Extend to 2, now you have 0,1,2 dimensional subspaces...see Pascal's triangle, etc into arbitrary. Now the number of dimensions isn't equal to the "spatial" dimensions. So 3 spatial dimensions requires at least a 3 dimensional algebra but extra rules can be added to embedded 3D in higher dimensions to make some operations easier. The classic from LA is to be homogenous. Other examples include adding projections to infinitely.
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 16, 2014, 07:28:12 PM But then again it seems like I'm misstating Grassmann as I want to think that in 3D you have a vector/bivector pair....humm...
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: cKleinhuis on August 16, 2014, 07:28:21 PM thank you dudes, lets see with what i can come up, i found a c# implementation, they are definately going to produce some interesting 3d stuff, but i need to sort out some stuff before
http://www.euclideanspace.com/maths/algebra/clifford/algebra/code/sfmulti3d_csharp.htm Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: David Makin on August 16, 2014, 10:37:43 PM thank you dudes, lets see with what i can come up, i found a c# implementation, they are definately going to produce some interesting 3d stuff, but i need to sort out some stuff before http://www.euclideanspace.com/maths/algebra/clifford/algebra/code/sfmulti3d_csharp.htm Just add sub and mul - no inverse/divide.... Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: kram1032 on August 16, 2014, 10:54:00 PM Once you have mul, inverse (and by extension divide) is really easy for GAs:
Just define the reverse of an algebraic number A=(a0, a1 e1, a2 e2....) rev(A) = to be, equivalently to complex numbers, the same number, except with all values past a0 negative (a0, -a1 e1, -a2 e2....) then: inv(A) = rev(A)/Mul(A,rev(A)) leftDiv(A,B) = Mul(inv(A),B) rightDiv(A,B)=Mul(B,inv(A)) Another really useful operation in GA should be: Sandwich(A,B) = Mul(Mul(A,B),A) - this is used ALL the TIME. - It encodes a reflection or a rotation or, in a conformal GA setting, a translation, scaling, etc... - In a conformal GA, any conformal transformation can be done with such a Sandwich operation. Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Refurio Anachro on August 16, 2014, 10:54:36 PM hi all, with a friend we are now attempting to formulate 2d and 3d mandelbrot equations in terms of clifford algebra, That friend would be me. Hello all indeed! For those curious, i tried to give a starting point into Clifford algebra in a series of 3 posts here: https://plus.google.com/115434895453136495635/posts/1CtiDXou6Rq When you pick your Clifford algebra such that you get a subspace isomorphic to the complex numbers, the formula should be the same as Mandelbrot's original. if i remember correctly, you get complex multiplication by using the 0- and 2-blades in Cl(2,0). In this context, those are often called unit and counit. Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: hermann on August 17, 2014, 07:36:44 AM I have now in mind for a while to implement geometric algebra as software. Here is a first sketch of a specification.
Code: package Geometric_Algebra is Hermann Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 17, 2014, 08:21:44 AM For the standard model of 2D, yeah you can put x into the scalar and y into the bivector and off you go. Another method is to place x and y into the vector and use a rotor to perform the rotation and scaling like I'm doing in the quaternion thread. Spinors are another option. I'd expect all the forms I've shown in 3D have equivalent in 2D as well under Clifford. Algebraic manipulation get you to all of them. Likewise for mandelbulb. Likewise I'd expect that some of the form David Makin is playing with here: http://www.fractalforums.com/programming/true-3d-mandelbrot/
I think that clifford is a much more promising avenue then quaternions BTW. WRT: making a software...I'd attempt to avoid that. What features do you want? Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: hermann on August 17, 2014, 09:42:04 AM I want to come to a generic formulation of geometric algebra.
Here is a first sketch: Code: generic That allows me to define different dimensional algebras: Code: with Ada.Text_IO; Producing the following Output: Code: begin Test_Clifford Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: kram1032 on August 17, 2014, 01:39:31 PM hermann, for implementing GA, this paper may be of help http://staff.science.uva.nl/~fontijne/phd/fontijne_phd_compressed.pdf
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 17, 2014, 01:51:07 PM Or skip on the paper and go to the implementation: http://sourceforge.net/projects/g25/
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: kram1032 on August 17, 2014, 02:36:20 PM that works too, of course. I figured he'd want to do it himself. :D
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: cKleinhuis on August 17, 2014, 03:00:41 PM right, i am more interested in the implementation right now, getting it work and play with the parameter space, although i am having kind of a break right now, i will definately try this in the next weeks!
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: kram1032 on August 17, 2014, 04:51:01 PM there is also this: http://versor.mat.ucsb.edu/
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: hermann on August 17, 2014, 06:15:52 PM Hallo kram1023 thanks for the paper
Quote hermann, for implementing GA, this paper may be of help http://staff.science.uva.nl/~fontijne/phd/fontijne_phd_compressed.pdf Also thanks to Roquen for the link: Quote Or skip on the paper and go to the implementation: http://sourceforge.net/projects/g25/ Sorry to cKleinhuis Quote right, i am more interested in the implementation right now, getting it work and play with the parameter space, although i am having kind of a break right now, i will definately try this in the next weeks! I only tried to write down some idears on how to develop a generic package for different geometric algebras. (inspiered by kram1023's thread on geometric algebra).When you want to get it work fast maybe the link of Roquen is helpful. I also think about changing the structure of the generic package. It is easy to define the basic vector in enumeration form for two and three dimensions: type Base_Type_2D is (scalar, e1, e2, e12); type Base_Type_3D is (scalar, e1, e2, e3, e12, e23, e31, e123); for Four Dimensions it becomes more difficult: type Base_Type_4D is (scalar, e1, e2, e3, e4, e12, e13, e14, e23, e24, etc. ) for higher dimensons it becomes even more difficult. So I have to rewrite the code in the following form: Code: generic That would allow me to define a geometric algebra of higher dimension very easy. Code: package Geometric_Algebra_5D is new Geometric_Algebra_Generic (Dimension => 5); That is all not very difficult but very time consuming. May be I have some more time next weekend. Thanks for the inspiration. Hermann Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: kram1032 on August 17, 2014, 06:30:40 PM note that one problem with GA is that, if you want to go for a generic, naive implementation, it's really high-dimensional. For instance, the R5-GA Cl5,0 already has 32 different elements, even if most of the time, most elements would be 0. You gotta write sparse code.
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 17, 2014, 07:28:42 PM Exactly. That's why I'd be tempted to suggest a CAS library instead and make code from the final result.
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: cKleinhuis on August 17, 2014, 07:35:34 PM 2d and 3d variants will be enough i think ;) formulating complex and mandelbulb in 2d/3d is what i aim for
Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 18, 2014, 10:57:43 AM I've been meaning to play around with generalized complex and see what that looks like. I'd expect like figures 1-4...figures 5 and 6 not though. Humm..... (I only quickly skimmed the paper). Tossed together a generalized complex and maybe it's completely equivalent. These should be all re-expressible as the standard m-set with a change of domain. Probably just completing the square...humm....Title: Re: Clifford Algebra - Generalisation of 2d/3d Formulas Post by: Roquen on August 18, 2014, 10:59:39 AM Oh and here's a symbolic version in python https://github.com/brombo/GA (haven't looked at it) |