Numeric precision with iterative matrix rotations

In summary, the author is looking for a simple matrix rotation/multiplication method that can overcome the precision problems associated with poorly conditioned matrices. He is also looking for any fast numerical algorithms designed to integrate rigid body motion.
  • #1
Kludgy
10
0
I couldn't find a forum section on numerical analysis, so I'm writing this here.

I'm on the lookout for simple matrix rotation/multiplication methods that can overcome the precision problems associated with poorly conditioned matrices.

In my case I'm trying to simulate the rotational physics of a thin rod, so the inertia tensor I'm using is very poorly conditioned. (In the basic simulator the major spin axis eventually converges on the angular momentum axis, which is at least stable but not ideal.)


Or if anyone knows of any fast numerical algorithms designed to integrate rigid body motion, that might be useful as well...


thanks!
 
Computer science news on Phys.org
  • #2
Have you considered using quaternions to do the rotation? If you search for the phrase "The main problem with encoding a rotation" in this document http://www.sjbrown.co.uk/quaternions.html it will explain a little why I think using quaternions might help.

If you find a solution to your problem outside of PF please post it here. I'm interested.
 
Last edited:
  • #3
Well I am using a quaternion to describe the orientation. Quaternions or not, I get the same drift problem.

Now that you mention that I think I'm wrong and it's not matrix conditioning but just the poor naive integration involved. I noticed yesterday that using smaller simulation steps delays the drift.

Maybe the solution is to do something funky like creating a parametrization in some sort of spherical space and integrating the angles of rotation instead of naively applying euler integration to each element of a quaternion and normalizing.

I'm pretty much making guesses since I don't know where to go with the math...
 
  • #4
If the problem is your integration scheme then have you considered using a Verlet algorithm? The error in a Verlet integration is 4th power of the time step. You can google for Leap Frog and "velocity verlet" algorithms in addition to the plain verlet algorithm if it looks like you can adapt this integration technique to your problem.
 
Last edited:
  • #5
Yeah I read that paper on particle based simulation. I do like the advantage of the particle part of that, not having any explicit angular state at all. I wonder how it would behave with my angular control laws?

Verlet integration in general would let me drop the first order state variables, but I'm still looking for a solution to propagate an explicit angular momentum through the body without drift.
 
  • #6
Velocity verlet does look interesting! Looking at that now..
 

1. What is numeric precision with iterative matrix rotations?

Numeric precision with iterative matrix rotations is a mathematical concept that refers to the accuracy of calculations involving matrix rotations. It is important to consider the precision of the numbers used in these calculations in order to prevent errors and ensure accuracy.

2. Why is numeric precision important in iterative matrix rotations?

Numeric precision is important in iterative matrix rotations because small errors in calculation can accumulate and result in significantly inaccurate results. This is especially critical in scientific and engineering fields where precise calculations are necessary for accurate predictions and analysis.

3. How is numeric precision measured in iterative matrix rotations?

Numeric precision is typically measured by the number of significant digits used in calculations. This can also be expressed in terms of the machine epsilon, which is the smallest number that can be added to 1 and still be distinguishable from 1 by the computer's floating-point arithmetic.

4. What are some common sources of errors in numeric precision with iterative matrix rotations?

Some common sources of errors in numeric precision with iterative matrix rotations include round-off errors, truncation errors, and errors introduced by the use of floating-point arithmetic. These errors can occur due to limitations in computer hardware and the use of finite precision numbers in calculations.

5. How can numeric precision with iterative matrix rotations be improved?

Numeric precision with iterative matrix rotations can be improved by using more precise data types, such as double-precision or quad-precision floating-point numbers. It is also important to carefully consider the order of operations and the choice of algorithms in order to minimize error accumulation. Additionally, techniques such as error propagation analysis can help identify potential sources of error and guide improvements in precision.

Similar threads

Replies
6
Views
609
Replies
2
Views
767
Replies
6
Views
1K
  • Programming and Computer Science
Replies
1
Views
2K
Replies
1
Views
578
  • Quantum Physics
Replies
1
Views
1K
  • Linear and Abstract Algebra
Replies
6
Views
2K
  • STEM Academic Advising
Replies
13
Views
2K
  • Mechanical Engineering
Replies
3
Views
2K
Back
Top