bugman
|
|
« Reply #15 on: December 06, 2009, 06:05:09 AM » |
|
Disclaimer: I'm not a mathematician, and I can't say exactly what constitutes an "alternative algebra" or what constitutes a "hypercomplex" number. I also haven't added anything to Wikipedia, but I am impressed with Paolo's contributions on this topic.
There are other ways of defining multiplication and power operators for the "triplex", and I am not entirely convinced that the method I outlined here is the best way. For example, I was wondering if applying the rotational matrix about the y-axis was really the most logical choice. I have been experimenting with some other rotations, but so far it hasn't produced a very good looking 3D Mandelbrot set. Of course, the most natural method of applying a single rotation about the axis that is perpendicular to both the x-axis and the point in question, reduces to the quaternion method with w = 0, which isn't very interesting.
|
|
« Last Edit: December 06, 2009, 06:46:42 PM by bugman »
|
Logged
|
|
|
|
zee
Guest
|
|
« Reply #16 on: December 06, 2009, 07:38:03 AM » |
|
I think I got it!
There are maybe some small problems because this is not a full definition, but there is enought defined to derive the non-trigometric equation. The 3rd dimension j is a very complicated thing because i*j = -1 but j² is something else...
|
|
« Last Edit: December 22, 2009, 09:02:48 PM by zee »
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #17 on: December 06, 2009, 11:14:02 AM » |
|
Heh, I don't really think it is a great contribution, at least I don't know really enough math to move it ahead. You can read on Wikipedia for alternative algebra, it's not hard. Hypercomplex is a bit over my head though. :-) I am not a mathematician either, I just dabble more in paper than in graphics. Anyway, here is my little conjecture: It's not totally out of thin air. Since and are complex, the multiplications in are associative, so you can actually sum the exponents to . Still a long way from a proof though... Of course you could just read the equalities from right to left and turn the conjecture into a definition but proving the above (especially ) from the power series would be really nice...
|
|
« Last Edit: December 06, 2009, 10:43:48 PM by Paolo Bonzini »
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #18 on: December 06, 2009, 04:51:27 PM » |
|
And one more thing. I said above that (0,0,1)^2=0, but that's not true. I was trusting the Cartesian formulas too much, but they are clearly undefined if one of the rho_xy is zero, and the simplification is not at all trivial. In particular: for (0,0,z1)*(0,0,z2), the result is (-z1 z2,0,0). This is particularly important because it basically gives the required proof for the value of e^(0,0,z). The idea is that powers alternate between (0,0,(-1)^n z^2n+1) and ((-1)^n z^2n+2,0,0), so that the series can be split to sines and cosines. for (0,0,z1)*(x2,y2,z2), I got but this does not really make sense to me. For example it gives (0,0,2)*(0,1,1) = (0,-2,2) but it should be (0,1,1)^3 = (0,2,2) according to the trig formula. Apparently elevation's full range must be considered between (-pi,+pi) because the (usually redundant) range matters when the elevation is multiplied by n. So each triplex has two spherical representations, for example (1,3 pi/2, 3 pi/4) and (1,pi/2,pi/4), and bad things happen when the cartesian formulas exchange one with the other. It may mean that we have abandoned of power associativity too (bad!), or maybe we're just complicating the formulas unnecessarily and the real underlying space is 4D, such as . I honestly have no idea, and need to work it out a bit more on paper. Funny though that there is an exponential operator, but not a good definition of multiplication in cartesian coordinates! As far as fractals are concerned, it's not too bad because there is a definition of power that can be used for Mandelbrot and Newton fractals at least! Also, the results seem to vary in sign only if you change cartesian vs. trigonometric computation of powers, so it is fine if the non-trig formulas are used for drawing! (After this detour, the third special case is trivial from commutativity).
|
|
« Last Edit: December 06, 2009, 10:42:51 PM by Paolo Bonzini »
|
Logged
|
|
|
|
zee
Guest
|
|
« Reply #19 on: December 06, 2009, 07:07:21 PM » |
|
I'm not a mathematician, too, but a theoretical physicist and I want to write my master thesis about that. I'll try to define the whole set mathematically. I think my solution is okay (providet that the equations I derived are correct) because its more than only using math till it works; There is an idea that says the 3rd basis is not only a hypercomplex basis but it's the (normalized) rotation of the 1st and 2nd coordinate (the 2d complex number) because it has to know the first rotation. I think that makes much sense! http://www.inlage.com/download/triplex.pdfEDIT: I like to call Triplex a "Spherical Complex Number"
|
|
« Last Edit: December 06, 2009, 07:44:13 PM by zee »
|
Logged
|
|
|
|
bugman
|
|
« Reply #20 on: December 06, 2009, 07:24:19 PM » |
|
Perhaps a better title for this thread would have been "Triplex Arithmetic"?
|
|
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #21 on: December 06, 2009, 09:25:33 PM » |
|
I'm not a mathematician, too, but a theoretical physicist and I want to write my master thesis about that. I'll try to define the whole set mathematically.
That would be really cool. Good luck! It's more than only using math till it works
LOL :-) I hope it's not a totally accurate definition of what I'm doing (though it's close). Note however that j^2=-1, it's just not clear from the Cartesian formulas. My impression is that any time you move away from the trig definition you are complicating your life with these numbers. It may be more accurate to first define as much as possible on spherical coordinates (since even things like e^x and ln x seem to work), and then define the Cartesian formulas more or less qualitatively (e.g. does the cartesian multiplication preserve modulus? what about the angles?) etc. The bare minimum that you need to get the moduli of polynomials i.e. to draw fractals. Having done this, extensions to >3D are probably much less complex, ehm, complicated. However, even though with fractals things seems to mostly work, a serious treatment of the topic should also understand why...
|
|
|
Logged
|
|
|
|
bugman
|
|
« Reply #22 on: December 06, 2009, 10:06:36 PM » |
|
Here is the solution for the exponential function:
|
|
« Last Edit: December 16, 2009, 07:06:01 AM by bugman »
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #23 on: December 06, 2009, 10:09:58 PM » |
|
OK, I think I found the exponential function, but I'm not sure how to check it yet...
Can you explain the derivation? Looks pretty different from mine...
|
|
|
Logged
|
|
|
|
zee
Guest
|
|
« Reply #24 on: December 06, 2009, 11:10:28 PM » |
|
Note however that j^2=-1, it's just not clear from the Cartesian formulas.
Why j^2 must be -1? Okay, this would explain calling it hypercomplex but I think that can't work to get those equations! (and I tried a lot of things) In my definition it's something else BECAUSE of the imaginary IN the imaginary! If you calculate j^2 with my definition you'll get the -1 but not alone... and we should remember that if j is the 3rd dimension, every number has an own 3rd direction! So are we talking about or about ? I think I have to ask: Did you read and understood what I wrote down? And do you see that the 3rd dimension must be something more complex than a definition of a basis such as quarternions?
|
|
« Last Edit: December 06, 2009, 11:16:03 PM by zee »
|
Logged
|
|
|
|
David Makin
|
|
« Reply #25 on: December 06, 2009, 11:38:56 PM » |
|
Perhaps someone reading this thread can clear up an issue related to the non-trig calculations.
I'm using a mix of complex and real to calculate the formula, in the case below for the "-sine" version (first iteration initial value of magn is zero):
r = cabs(zri) magn = sqrt(magn)^@mpwr zjk = r + flip(zj) if r>0.0 zri = (zri/r)^@mpwr endif if (ph=cabs(zjk))>0.0 zjk = (zjk/ph)^@mpwr endif zj = cj - magn*imag(zjk) zri = magn*real(zjk)*zri + cri magn = |zri| + sqr(zj)
where zri, zjk, and cri are complex and the rest are real. cabs(zri) is sqrt(x^2 + y^2) where zri is (x+i*y) and |zri| is just x^2+y^2
You'll note that when zri is (0,0) and when zjk is (0,0) then I assume the sine/cosine calculation done by raising the normalised complex value to a power should return (0,0) i.e. it leaves the values unchanged. It would be equally valid to return (1,0) - would that be a better option mathematically speaking ?
|
|
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #26 on: December 07, 2009, 12:33:42 AM » |
|
Note however that j^2=-1, it's just not clear from the Cartesian formulas.
Why j^2 must be -1? [...] are we talking about or about ? Sorry, I was talking about one particular j, the one that is not associated to any i (because it has 0+0i as the complex part). In spherical coordinates (0,0,1) is (1,0,pi/2) so j^2=(1,0,pi) which becomes (-1,0,0) when converted back to cartesian. I understood your definition and I liked it, still it does not explain (AFAICT) what happens when the complex parts are zero, hence my observation above. If you can explain that, that'd be great. You also have a bit of handwaving in how the j's cancel with z's (z's are reals, so I didn't really understand that part), but that's fine for now. I still think that it is better to milk as much as possible from the spherical definitions first (including an exponential and logarithm), though. Cartesian representation is turning out to be much more tricky. Perhaps someone reading this thread can clear up an issue related to the non-trig calculations. You'll note that when zri is (0,0) and when zjk is (0,0) then I assume the sine/cosine calculation done by raising the normalised complex value to a power should return (0,0) i.e. it leaves the values unchanged. It would be equally valid to return (1,0) - would that be a better option mathematically speaking ?
I don't know for the sign-reversed calculation, but I gave above the correct formulas for zri and/or zjk being (0,0): for (0,0,z1)*(0,0,z2), the result is (-z1 z2,0,0).
for (0,0,z1)*(x2,y2,z2), I got (-z1 z2 x2 / rho2, -z1 z2 y2 / rho2, z1 rho2) where rho2 is sqrt(x2^2+y2^2).
The third special case is trivial due to commutativity. It should be easy to reconcile the difference between these definitions and the sign-reversal. BTW, I encountered some inconsistencies here, so I suggest that you compute z^n directly rather than through repeated multiplication.
|
|
« Last Edit: December 07, 2009, 01:19:06 AM by Paolo Bonzini »
|
Logged
|
|
|
|
zee
Guest
|
|
« Reply #27 on: December 07, 2009, 12:51:33 AM » |
|
In spherical coordinates (0,0,1) is (1,0,pi/2) so j^2=(1,0,pi) which becomes (-1,0,0) when converted back to cartesian.
How can you follow this? Is everybody convinced that the equations (by wikipedia and bugman) for triplex multilplication are correct?So it's easy to show that j^2 can't be -1: like in other hypercomplex numbers. But the "from heaven falling" rule for Triplex multiplication says that the first component have to be: This is something other I'll work to understand that problem in the origins. I just started yesterday to think about that equations. Maybe I should write my program on and try to compare cartesian values with the spherical, too. But I didn't occupy myself very much with simulating 3d mandelbulbs after understanding that it works. I've got an 3d array with for example 1 and 0 and don't know how to get the surface with triangles instead of showing voxels. (I'm creating an .obj file and render with Bryce). I'm sorry, this is not the topic but I think I'll create a topic or read something about that and I hope you can help me a lot if I'm welcome in this amazing active community!
|
|
« Last Edit: December 07, 2009, 01:04:56 AM by zee »
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #28 on: December 07, 2009, 01:13:46 AM » |
|
Is everybody convinced that the equations (by wikipedia and bugman) for triplex multilplication are correct?
Yes, they are (at least as correct as they can be, given the issue with range of elevation that I mentioned earlier). But if the x and y is zero, they are undefined and you need a different definition. BTW on wikipedia there's no reference to the cartesian formulas (luckily; they would be likely copied without all these details...). But the "from heaven falling" rule for Triplex multiplication says that the first component have to be: (x^2 - y^2) (1 - \frac{z^2}{r^2})
Basically, the (x^2 - y^2) * 1 factor is eliminated. But (x^2 - y^2) / (r^2) is 0 / 0, so you have to find its value in some way. I couldn't compute it with limits, but I could compute it with trigonometry and its value is 1. So you get that the first component of (0,0,1)^2 is -z^2 = -1. The formulas do not fall from heaven. They come from the spherical coordinate definition of powers and multiplications, and can be derived from there. Try doing that on paper (it's not totally trivial, but since you know what the result must look like... ;-) ). Note that I've written some quick Maxima functions, but no 3D stuff. I'm looking at it only from a theoretic point of view. I think we can continue discussing here in this topic.
|
|
« Last Edit: December 07, 2009, 01:42:31 AM by Paolo Bonzini »
|
Logged
|
|
|
|
David Makin
|
|
« Reply #29 on: December 07, 2009, 01:47:21 AM » |
|
Perhaps someone reading this thread can clear up an issue related to the non-trig calculations. You'll note that when zri is (0,0) and when zjk is (0,0) then I assume the sine/cosine calculation done by raising the normalised complex value to a power should return (0,0) i.e. it leaves the values unchanged. It would be equally valid to return (1,0) - would that be a better option mathematically speaking ?
I don't know for the sign-reversed calculation, but I gave above the correct formulas for zri and/or zjk being (0,0): I think I deduce from that, that the answer is yes I should use (1,0) instead of (0,0) when normalising (0,0) - I guess the answer was in the question anyway since if it's normalised then the magnitude *has* to be 1
|
|
|
Logged
|
|
|
|
|