Non-informative prior for the orthogonal matrix (Migrated from community.research.microsoft.com) RRS feed

  • Question

  • hr0nix posted on 12-14-2009 8:21 AM

    Good day.

    I need to specify some non-informative prior for a random variable which is in fact a 2x2 rotation matrix. Unfortunately, there exists neither some well-known distribution for such matrices nor trigonometric factors like Sin(x), so I can't figure out how can I do it.

    Any suggestions? Thanks in advance.

    Friday, June 3, 2011 5:30 PM


  • jwinn replied on 12-17-2009 6:04 AM

    The built-in components for Infer.NET do not include distributions directly over rotation matrices or factors which could handle such distributions directly.  You could add your own distribution and factors but this would be a substantial piece of work.

    An alternative which would work in many applications is to discretise your rotation e.g. into N steps of 360/N degrees.  To do this you first set up an array of N rotation matrices for each rotation angle.  You can then use a random int (Variable<int>) ranging from 0 to N-1 to index these matrices - this int will  be the discretised rotation. 

    This discretised method is simple and flexible and can easily be used for other transformations as well e.g. translation/scale.

    John W.

    Friday, June 3, 2011 5:31 PM