Can the value of Tau be approximated to a static value?
I have this little macro:


#define EIGENROTATE(a,i,j,k,l)      g=a.n;h=a.n;a.n=g-s*(h+g*tau);\
                                    a.n=h+s*(g-h*tau);


I want to translate it to asm.. 'a' is a 3x3 matrix, 's' is a REAL4 variable..
Posted on 2005-08-16 23:37:05 by Homer
OK check this out..

Tau is a mathematical oddity, and contains several mathematical oddities in itself.
Even though Tau is a series, its value can be estimated as a hard value of fixed precision, in a way it is mathematically related to Pi.

I have not checked the following code, and I foresee a potential collision problem if the values of i,j and k,l are the same, but I PRESUME this never happens...


.data
Tau REAL8 1.7579327566180045 ;Anyone got Tau to more than 16 decimal places?
.code
EIGENROTATE macro a,i,j,k,l
;Where a = Mat33, s = (given) REAL4

;      g=a.n;
mov eax,12
mul j
mov ebx,i
shl ebx,2
add eax,ebx
mov ebx,eax
add ebx,a

;      h=a.n;
mov eax,12
mul l
mov edx,k
shl edx,2
add eax,edx
add eax,a
           
;      a.n=g-s*(h+g*tau);
fld REAL4 ptr
fld REAL4 ptr
fmul Tau
fadd REAL4 ptr
fmul s
fsub
fstp REAL4 ptr

;      a.n=h+s*(g-h*tau);
fld REAL4 ptr
fld REAL4 ptr
fld REAL4 ptr
fmul Tau
fsub
fmul s
fadd
fstp REAL4 ptr
endm

Posted on 2005-08-16 23:57:08 by Homer
What's tau? I have never heard of it before.
Posted on 2005-08-17 02:09:19 by roticv
Google it, really interesting, only recently bumped into it during my journey into dynamic physics equations, via the 'Jacobian rotation method of solving an Eigen Vector equation'.
Posted on 2005-08-17 10:48:22 by Homer
I have never heard of a mathematically symbol called tau - i don't seem to be finding up much on it on google. I only encounter this term in physics where is it used to represent torque. Maybe they are related? I don't really know.
Posted on 2005-08-17 11:11:22 by roticv
Tau if I recall correctly also is a "unit" (calculated for each specific) of discharge of a capacitor, where normally 5*tau is when you can consider that a capacitor is discharged... or some like that...
Posted on 2005-08-17 11:45:30 by rea
Tau is a greek letter, and thus has at least a couple of different meanings - math and physics. Considering that Homer is talking about rigid body physics, I doubt capacitor discharge has any relevance here :)
Posted on 2005-08-17 12:01:02 by f0dder
A bit improved the int part of the code:

EIGENROTATE2 macro a,i,j,k,l
;Where a = Mat33, s = (given) REAL4

;      g=a.n;
;      h=a.n;
mov ebx,j
mov eax,l

lea ebx,
lea eax,
add ebx,i
add eax,k
shl ebx,2
shl eax,2
add ebx,a
add eax,a
   
;      a.n=g-s*(h+g*tau);
fld REAL4 ptr
fld ST
fmul Tau
fadd REAL4 ptr
fmul s
fsub
fstp REAL4 ptr

;      a.n=h+s*(g-h*tau);
fld REAL4 ptr
fld REAL4 ptr
fld REAL4 ptr
fmul Tau
fsub
fmul s
fadd
fstp REAL4 ptr

endm
Posted on 2005-08-17 12:05:04 by Ultrano
I'd never heard about it before either, mathworld lists a couple of its common uses.
Posted on 2005-08-17 14:40:29 by Eóin
In laymans terms, Tau is the sum of the roots of integers incrementing usually from 1:
eg Tau = sqrt (1+sqrt(2+sqrt(3+sqrt(N))))

The value produced by this infinite series is nevertheless a fixed value, just its precision increases, which is why I mentioned pi in a previous posting.
Tau is indeed related to Pi, and also to the Golden Mean.

Funny thing : the procedure which uses the EIGENROTATE macro I posted earlier actually calculates its own values for Tau, and I didn't need to research Tau after all :)
Posted on 2005-08-18 00:46:58 by Homer
That doesn't look like a series to me :P
Posted on 2005-08-18 16:35:13 by Sephiroth3
Yeah I too find it hard to believe thats a real series, it doesn't converge as N ? ?  :) .
Posted on 2005-08-18 18:35:18 by Eóin
http://www.hermetic.ch/misc/tau/tau.htm

Looks like it converges to me :P
Posted on 2005-08-19 09:14:32 by Homer
tau=1.7579327566180045
Give us a strict mathematical attestation without computer.

regards
Posted on 2005-08-19 09:57:14 by dcskm4200
Ok, let's be clear, that value is only valid when the series begins with 1.
If we start our series at any given value other than 1, we produce a different but equally finite value.
That's why the code I'm playing with generates values for tau rather than use that hardcoded value.
I find it infinitely interesting that one of the tau series generates the golden mean :)
Posted on 2005-08-19 12:04:02 by Homer
A or B ?

regards
Attachments:
Posted on 2005-08-19 20:31:42 by dcskm4200
Yes, it converges, but it's not a series, because it's not a sum. But a series doesn't have to converge either.
Posted on 2005-08-25 13:57:44 by Sephiroth3