# [Numpy-discussion] permutation symbol

Nils Wagner nwagner@iam.uni-stuttgart...
Tue Jun 30 11:40:31 CDT 2009

On Tue, 30 Jun 2009 10:27:05 -0600
Charles R Harris <charlesr.harris@gmail.com> wrote:
> On Tue, Jun 30, 2009 at 5:11 AM, Nils Wagner
> <nwagner@iam.uni-stuttgart.de>wrote:
>
>> On Tue, 30 Jun 2009 11:22:34 +0200
>>  "Nils Wagner" <nwagner@iam.uni-stuttgart.de> wrote:
>>
>>>  Hi all,
>>>
>>> How can I build the following product with numpy
>>>
>>> q_i = \varepsilon_{ijk} q_{kj}
>>>
>>> where  \varepsilon_{ijk} denotes the permutation symbol.
>>>
>>> Nils
>>>
>>  Sorry for replying to myself.
>> The permutation symbol is also known as the Levi-Civita
>>symbol.
>> I found an explicit expression at
>> http://en.wikipedia.org/wiki/Levi-Civita_symbol
>>
>> How do I build the product of the Levi-Civita symbol
>>\varepsilon_{ijk} and
>> the two dimensional array
>> q_{kj}, i,j,k = 1,2,3 ?
>>
>
> Write it out explicitly. It essentially antisymmetrizes
>q and the three off
> diagonal elements can then be treated as a vector.
>Depending on how q is
> formed and the resulting vector is used there may be
>other things you can do
> when you use it in a more general expression. If this is
>part of a general
> calculation there might be other ways of expressing it.
>
> Chuck

Hi Chuck,

The problem at hand is described in a paper by Angeles
namely equation (17c) in
"Automatic computation of the screw parameters of
rigid-body motions.
Part I: Finitely-separated positions"
Journal of Dynamic systems, Measurement and Control, Vol.
108 (1986) pp. 32-38

I am looking for a pythonic implementation of the
algorithm.

Nils