Logo by simon.snake - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. April 26, 2024, 01:15:38 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 ... 5 6 [7] 8 9 ... 15   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Geometric Algebra, Geometric Calculus  (Read 12695 times)
0 Members and 1 Guest are viewing this topic.
Roquen
Iterator
*
Posts: 180


« Reply #90 on: September 06, 2014, 03:44:13 PM »

Also for readability I find the e12 shorthand easier than explicit e1^e2.
Logged

All code submitted by me is in the public domain. (http://unlicense.org/)
kram1032
Fractal Senior
******
Posts: 1863


« Reply #91 on: September 06, 2014, 04:21:37 PM »

Very agreed
Logged
hermann
Iterator
*
Posts: 181



WWW
« Reply #92 on: September 07, 2014, 09:00:58 AM »

Not a big problem.

<br />\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}<br />\hline<br />1 &e_{1} &e_{2} &e_{12} &e_{3} &e_{13} &e_{23} &e_{123} &e_{4} &e_{14} &e_{24} &e_{124} &e_{34} &e_{134} &e_{234} &e_{1234} \\ \hline<br />e_{1} &1 &e_{12} &e_{2} &e_{13} &e_{3} &e_{123} &e_{23} &e_{14} &e_{4} &e_{124} &e_{24} &e_{134} &e_{34} &e_{1234} &e_{234} \\ \hline<br />e_{2} &-e_{12} &1 &-e_{1} &e_{23} &-e_{123} &e_{3} &-e_{13} &e_{24} &-e_{124} &e_{4} &-e_{14} &e_{234} &-e_{1234} &e_{34} &-e_{134} \\ \hline<br />e_{12} &-e_{2} &e_{1} &-1 &e_{123} &-e_{23} &e_{13} &-e_{3} &e_{124} &-e_{24} &e_{14} &-e_{4} &e_{1234} &-e_{234} &e_{134} &-e_{34} \\ \hline<br />e_{3} &-e_{13} &-e_{23} &e_{123} &1 &-e_{1} &-e_{2} &e_{12} &e_{34} &-e_{134} &-e_{234} &e_{1234} &e_{4} &-e_{14} &-e_{24} &e_{124} \\ \hline<br />e_{13} &-e_{3} &-e_{123} &e_{23} &e_{1} &-1 &-e_{12} &e_{2} &e_{134} &-e_{34} &-e_{1234} &e_{234} &e_{14} &-e_{4} &-e_{124} &e_{24} \\ \hline<br />e_{23} &e_{123} &-e_{3} &-e_{13} &e_{2} &e_{12} &-1 &-e_{1} &e_{234} &e_{1234} &-e_{34} &-e_{134} &e_{24} &e_{124} &-e_{4} &-e_{14} \\ \hline<br />e_{123} &e_{23} &-e_{13} &-e_{3} &e_{12} &e_{2} &-e_{1} &-1 &e_{1234} &e_{234} &-e_{134} &-e_{34} &e_{124} &e_{24} &-e_{14} &-e_{4} \\ \hline<br />e_{4} &-e_{14} &-e_{24} &e_{124} &-e_{34} &e_{134} &e_{234} &-e_{1234} &1 &-e_{1} &-e_{2} &e_{12} &-e_{3} &e_{13} &e_{23} &-e_{123} \\ \hline<br />e_{14} &-e_{4} &-e_{124} &e_{24} &-e_{134} &e_{34} &e_{1234} &-e_{234} &e_{1} &-1 &-e_{12} &e_{2} &-e_{13} &e_{3} &e_{123} &-e_{23} \\ \hline<br />e_{24} &e_{124} &-e_{4} &-e_{14} &-e_{234} &-e_{1234} &e_{34} &e_{134} &e_{2} &e_{12} &-1 &-e_{1} &-e_{23} &-e_{123} &e_{3} &e_{13} \\ \hline<br />e_{124} &e_{24} &-e_{14} &-e_{4} &-e_{1234} &-e_{234} &e_{134} &e_{34} &e_{12} &e_{2} &-e_{1} &-1 &-e_{123} &-e_{23} &e_{13} &e_{3} \\ \hline<br />e_{34} &e_{134} &e_{234} &e_{1234} &-e_{4} &-e_{14} &-e_{24} &-e_{124} &e_{3} &e_{13} &e_{23} &e_{123} &-1 &-e_{1} &-e_{2} &-e_{12} \\ \hline<br />e_{134} &e_{34} &e_{1234} &e_{234} &-e_{14} &-e_{4} &-e_{124} &-e_{24} &e_{13} &e_{3} &e_{123} &e_{23} &-e_{1} &-1 &-e_{12} &-e_{2} \\ \hline<br />e_{234} &-e_{1234} &e_{34} &-e_{134} &-e_{24} &e_{124} &-e_{4} &e_{14} &e_{23} &-e_{123} &e_{3} &-e_{13} &-e_{2} &e_{12} &-1 &e_{1} \\ \hline<br />e_{1234} &-e_{234} &e_{134} &-e_{34} &-e_{124} &e_{24} &-e_{14} &e_{4} &e_{123} &-e_{23} &e_{13} &-e_{3} &-e_{12} &e_{2} &-e_{1} &1 \\ \hline<br />\end{tabular}<br />
Logged

kram1032
Fractal Senior
******
Posts: 1863


« Reply #93 on: September 07, 2014, 12:13:44 PM »

much better, thanks. smiley
Now the only thing that's missing is color to distinguish them all properly cheesy
Are you already able to create negative rules too?
If you want to go to a conformal geometric algebra, or special relativity, for instance, you'll need a 1-vector element that squares to -1.

I also had this idea for an "infinite-dimensional" version going in both directions and wonder if the math within that checks out (I know that it is possible in principle: it was referenced before, but I never saw an example of it)
Basically, you'd have
    e_n with:
    • n=0 \to e_n = e_0 = 1 \to 1^2=1
    • n>0 \to e_n^2=1
    • n<0 \to e_n^2=-1

    Obviously, for something like this, you can't ever generate the full multiplication table, and you gotta do calculations on the fly, but as long as the whole thing is sparse, e.g. only finitely many of the values are used, you should be able to use a model like this just fine.
    Logged
    hermann
    Iterator
    *
    Posts: 181



    WWW
    « Reply #94 on: September 07, 2014, 03:08:42 PM »

    Thanks,

    Some Background Information. I tested the generated LaTex table in a LaTex-Document first.
    I gave the first row and the first column the background color cyan.
    That worked fine on my computer.
    When I then posted the LaTex here in Fractalfoums, I got the problem that the color commands, for table items, are not accepted! See my post above!
    It also interpretated the whole table as formula, so that I had to get rid of $ symbols surrunding each item.

    I also started to work on an HTML-Table generator. With this approce it is easier to change the background color of the lines, or the items of a table.
    At the moment my internet connection is slow, so I couldn't load it up. On my computer I was able to create tables up to 8-Dimensions but got storage problems for higher dimensions.

    Signature: I have not implemented it but it should not be too difficult to program.
       Dimension : Natural := 3;
       type Signature_Type is array (0 .. Dimension) of Integer with Default_Component_Value => 1;
       Signature : Signature_Type := (1, -1, 0, 1);

    At the moment the dimension value can start with 0; (even the implementaion works at the moment only with values >1)

    May be it is possible to expand it to negative Dimensions:
      type Signature_Type is array ( -Dimension .. Dimension ) of Integer with Default_Component_Value => 1;
      Signature : Signature_Type := (2,-3-0, 5, -1, 0, 1);
      Set_Signature (Signature);

    It is also possible to think of float values as elements of the signature.

    Hermann
    « Last Edit: September 07, 2014, 04:24:22 PM by hermann » Logged

    kram1032
    Fractal Senior
    ******
    Posts: 1863


    « Reply #95 on: September 07, 2014, 08:31:28 PM »

    Heh, no worries about the color, I saw your first remark already. I didn't mean to push you with that repeated remark or anything.

    I'd imagine that, at least if it is done like I suggested, this binary-type implementation would kinda break down:

    For a short (a single byte), you'd have your eight bits:

    _ _ _ _ _ _ _ _

    1 in this would be something like

    0 0 0 0 0 0 0 1

    -1, meanwhile, using the implicit 1, would look like

    1 0 0 0 0 0 0 0

    and -2 would be

    1 0 0 0 0 0 0 1

    and it could build numbers from 127 to -128. (or alternatively, you could get a signed 0 where 0 0 0 0 0 0 0 0 = +0 and 1 0 0 0 0 0 0 0 = -0)
    More than plenty, except for two problems:

    - I am asking for infinitely many dimensions of which, however, only finitely many are used, so this basic format will most definitely fail (gotta use a sparse representation instead)
    - since two different numbers use at least one bit twice, you'd have to somehow differentiate between the two extra. As long as you do not multiply any together, it's no problem, but what would you do with e_{-1} e_1 = e_{-1\:1}? This obviously can't quite work.

    Though that kind of concept, at least for now, goes way past the scope of your implementation here anyway. Something like that could be tried later down the line.

    Btw, note that this doesn't mean that there are negative dimensions. It's 2 \infty = \infty many dimensions. And while some of them would get a "negative name", all of them would still behave like positive dimensions.

    An alternative approach could be to only use natural numbers, and have even dimension be negativeand odd ones positive. Then you'd have:

    0 0 0 0 0 0 0 0 = e_0 = 1 \\<br />0 0 0 0 0 0 0 1 = e_1 \to e_1^2 = -1<br />0 0 0 0 0 0 1 0 = e_2 \to e_2^2 = 1
    etc.

    That would have the advantage, on one hand, that you could implement this with your binary representation just fine, but on the other, it'd still have the problem of being infinite in size and thus, ultimately, requiring sparse represenation instead.

    There is also the issue of not having an idempotent / pseudoscalar in such an infinite dimensional case. At least not a well-definable one.

    For instance, in 2 dimensions, you have

    1 x y xy=I

    Ix = xyx = -y
    xI = xxy = y

    Iy = xyy = x
    yI = yxy = -x

    so I anticommutes with x and y.

    Meanwhile, in 3D, you have

    x y z and xyz = I

    Ix = xyzx = - xyxz = xxyz = yz
    xI = xxyz = yz

    Iy = xyzy = - xyyz = -xz = zx
    yI = yxyz = - yyxz = -xz = zx

    Iz = xyzz = xy
    zI = zxyz = -xzyz = xyzz = yx

    Here, I commutes.

    This pattern continues for higher dimensions depending on whether I is an even- or odd-dimensioned space.
    In case of an infinite dimensional algebra, it's undefined whether it is even or odd.

    If that were no problem, it would be easy to define things like a join and a meet in this space, even with a sparse representation. A sparse dual would simply be the opposite of a sparse vector. Instead of a limited number of 1s, there would be a limited number of 0s. So even there, multiplication should not be a problem.
    But because of this even/odd problem, it's not as straight-forward to define this.
    Of course, for any finite-dimensional subspace, you could define any given operation just fine.
    Logged
    hermann
    Iterator
    *
    Posts: 181



    WWW
    « Reply #96 on: September 08, 2014, 07:08:26 AM »

    Hallo Kram,

    the scalar product in euclidian metric is usally defined in the following way:
    e_i \cdot e_j = \delta_{ij}


    then we have for the outer product squared:
    (e_1 \wedge e_2)^2 =(e_1 \wedge e_2)(e_1 \wedge e_2) = -(e_1 \wedge e_2)(e_2 \wedge e_1) = -(e_1)1(e_1)= -1

    If we redefine the inner product in the following way:
    e_i \cdot e_j = m_i \delta_{ij}
    Handling the outer product as before.

    we can set
    m=( 1, 1)
    m=( -1, 1)
    m=(-1,-1)
    m=(-1, 0)
    m=(-3.14, 2.5)
    and get different inner products.

    If we have m=( 1,-1)
    (e_1 \wedge e_2)^2 =(e_1 \wedge e_2)(e_1 \wedge e_2) = -(e_1 \wedge e_2)(e_2 \wedge e_1) = -(e_1)-1(e_1)= +1

    If we have m=( 1,-3.1415)
    (e_1 \wedge e_2)^2 =(e_1 \wedge e_2)(e_1 \wedge e_2) = -(e_1 \wedge e_2)(e_2 \wedge e_1) = -(e_1)-3.1415(e_1)= +3.1415

    Or a bit more general:
    (e_1 \wedge e_2)(e_2 \wedge e_3) = m_2(e_1 \wedge e_3)

    This shouldn't be too difficult to be implemented. Or did I miss your point?
    « Last Edit: September 08, 2014, 07:15:02 AM by hermann » Logged

    kram1032
    Fractal Senior
    ******
    Posts: 1863


    « Reply #97 on: September 08, 2014, 02:14:06 PM »

    That's to implement the grade, which is fine, however I was talking about other things too:

    - Implementing negative dimensions with your binary representation (it won't work directly, but a remapping is possible)

    - Implementing infinitely many dimensions with using only finitely many of them at any given time (having a direct binary representation will fail in this case: you just can't store infinitely many zeroes. However, you can implicitly assume them to be 0 and then directly encode just the placements of the 1s instead - that's a sparse representation)

    - calculating things like dual spaces with an infinite dimensional pseudoscalar/idempotent. (I thought further about this and I think I solved it, unless I made an error)

    For this, I am assuming \mathbb{N} to ONLY be the positive integers, excluding 0. Normally, I would include 0, but the notation becomes nicer if I do this here. (Alternatively you could start counting at 0 with your dimensions, making the first 1-vector e_0 rather than e_1)

    Let's define the idempotent of such an infinite-dmensional space as I = e_1 \wedge e_2 \wedge e_3 \wedge... = \bigwedge_{i=1}^\infty{e_i} = \bigwedge_{\mathbb{N}} {e_i} = e_{\left{\mathbb{N }\right} and the signature of our space as a vector m with e_i^2 = m_i.

    Doing something like e_{357} I, for instance, is fairly simple. You'll have to reorder 356 (=357-1) times, which is an even number, so you get  \left(+\right) \: m_{357} e_{\left{\mathbb{N }\setminus \left{357 \right} \right} which can be precisely defined by a sparse representation (namely by exactly inverting the previous sparse representation: you assume all the values except a few to be 1, and then you precisely specify which ones are the 0s)

    However, if you go for I e_{357}, how often do you need to reorder? It depends on the parity of \infty:
    If your particular infinity is assumed to be even, I e_{357} = - e_{357} I = -m_{357} e_{\left{\mathbb{N }\setminus \left{357 \right} \right}
    If it is odd instead, then  I e_{357} = e_{357} I = m_{357} e_{\left{\mathbb{N }\setminus \left{357 \right} \right}

    So in the end, you effectively have two different infinitely-dimensional spaces, one for an "even infinity" \infty \equiv 0 \text{ mod } 2 and one for an "odd infinity" \infty \equiv 1 \text{ mod } 2.
    « Last Edit: September 08, 2014, 02:15:45 PM by kram1032 » Logged
    hermann
    Iterator
    *
    Posts: 181



    WWW
    « Reply #98 on: September 08, 2014, 09:16:53 PM »

    Thanks for your explanation.

    In the mean time I have worked a bit on the Software and are now able to create multiplikation tables up to 9 Dimensions in HTML-Format.
    It is possible to view this table with the mozilla firefox browser, but the browser becomes slow.
    What i didn't expect that I come so soon on the limits of my computer system when working on this project.
    • First I discovered, that n_over_k showes soon the limitations of the integer implementation.
    • Next, the implementation of indizies became tricky
    • Then the problem with big LaTex Tables.
    • Next the problem of writing a complete string into a file.
    • And know I come to the problem of displaying huge HTML-Tables.
    • Idears appear faster then I am able to implement of write down
    So the works remains challanging!

    Hermann
    P.S I am also preparing a Page on my home page to be able to present some of the tables.
    « Last Edit: September 08, 2014, 09:18:51 PM by hermann » Logged

    kram1032
    Fractal Senior
    ******
    Posts: 1863


    « Reply #99 on: September 09, 2014, 10:26:31 PM »

    Symplectic, orthogonal and linear Lie groups in
    Clifford algebra (pdf)
    Logged
    hermann
    Iterator
    *
    Posts: 181



    WWW
    « Reply #100 on: September 11, 2014, 12:26:00 AM »

    For the presentation of the tables and the collection of idears and links, I have know started my own internet page on geometric algebra.
    The tables generated by the program I have written. I hope, I can but more contens on it the next days.

    http://www.wackerart.de/mathematik/geometric_algebra.html

    Hermann
    Logged

    kram1032
    Fractal Senior
    ******
    Posts: 1863


    « Reply #101 on: September 11, 2014, 12:34:40 AM »

    Nice page.
    What's up with all those images though?
    I mean, they are nice to look at, but they split up the rest of the page more than they probably should and they do not appear to be related. It's also a lot of the Ederlake.
    Logged
    hermann
    Iterator
    *
    Posts: 181



    WWW
    « Reply #102 on: September 11, 2014, 10:37:09 AM »

    Hallo Kram,

    basically some photos on my geometric algebra page
    http://www.wackerart.de/mathematik/geometric_algebra.html
    are made during the same days when I worked on the HTML page and where writing the software for the creation of the tables.
    For me it was big fun making the photos, programming a bit and thinking about geometric algebra while walking around lake "Edersee".
    So there is a strong emotional relationship (for me) between the photos and the other work.

    On the other hand one has the problem how to visualise higher dimensions?
    We live in a three dimensional world. One can think of time as a fourth dimension.
    Making a film is then a four dimensionl 0bject. Each point in a four dimensional space time universe can have a distingt color. Making another 3-Dimension.
    So we can visiualise 7-Dimensions.
    To have a picture from higher dimensional objects we can only have different perspectives and projections of this object to visualise it to the human eye.

    So I made photos from different positions at different time with different light and different weather from the lake!

    Hermann
    « Last Edit: September 11, 2014, 10:46:55 AM by hermann » Logged

    Roquen
    Iterator
    *
    Posts: 180


    « Reply #103 on: September 11, 2014, 11:11:15 AM »

    There's dimensions and then there are dimensions.  It's an overloaded term so what do you mean?  Take 3D.  In Clifford/GA you can define a standard model.  1,3,3,1.  A vector takes 3 real values to specify so it's 3 dimensional.  A full term requires up to 8 real values, so it's an 8 dimensional vector space (vector is another overloaded term).  Augment that to a homogeneous model and you now have 3D space embedded in 4D (a vector takes 4 real values).  No hardship here since all non-zero scalar multiples represent the same thing, but it's now a 16D vector space.  Add other properties to 3D and you expand the vector space, but it's still just plain old 3D with some extra rules (whatever they may be).
    Logged

    All code submitted by me is in the public domain. (http://unlicense.org/)
    hermann
    Iterator
    *
    Posts: 181



    WWW
    « Reply #104 on: September 11, 2014, 02:30:46 PM »

    For me dimension is the number of base vectors of the form e_i
    A multivector is constructed by even more elements. But these elements depend on the e_i these also emply a different dimensionality.

    The problem I was talking about is the question of how to visualise all these elements that can be produced by geoemetric algebra.
    As an example, for the mandelbrot set we use the complex plane. In geometric algebra we get soon a lot more planes e_i \wedge e_j depending of the number of base vectors.
    Logged

    Pages: 1 ... 5 6 [7] 8 9 ... 15   Go Down
      Print  
     
    Jump to:  

    Related Topics
    Subject Started by Replies Views Last post
    geometric spirals Mandelbulb3D Gallery bib 0 894 Last post October 25, 2010, 09:48:32 PM
    by bib
    Geometric Buddha Images Showcase (Rate My Fractal) John Smith 0 1047 Last post June 07, 2012, 09:05:17 PM
    by John Smith
    Retro Geometric Still Frame FracZky 0 1203 Last post May 02, 2013, 07:30:42 PM
    by FracZky
    Geometric Patterns No. 2 Saturn&Titan Gallery element90 2 913 Last post February 09, 2014, 03:43:35 PM
    by Dinkydau
    Geometric Fractals Help Help & Support lancelot 13 941 Last post December 15, 2014, 06:10:29 PM
    by Sockratease

    Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

    Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
    Page created in 0.257 seconds with 24 queries. (Pretty URLs adds 0.011s, 2q)