Hmm, sorry, I don't see any obvious logic that would explain how Octave
obtains this result, although of course there is probably some logic...

Anyway, since you seem to know what you want, can't you obtain the same
result by doing whatever un-normalizing operation you are after?

-=- Olivier

2011/12/20 Fahreddın Basegmez <mangab...@gmail.com>

> I should include the scipy response too I guess.
>
>
> scipy.linalg.eig(STIFM, MASSM)
> (array([ 3937.15984097+0.j,  3937.15984097+0.j,  3937.15984097+0.j,
>         3923.07692308+0.j,  3923.07692308+0.j,  7846.15384615+0.j]),
> array([[ 1.,  0.,  0.,  0.,  0.,  0.],
>        [ 0.,  1.,  0.,  0.,  0.,  0.],
>        [ 0.,  0.,  1.,  0.,  0.,  0.],
>        [ 0.,  0.,  0.,  1.,  0.,  0.],
>        [ 0.,  0.,  0.,  0.,  1.,  0.],
>        [ 0.,  0.,  0.,  0.,  0.,  1.]]))
>
> On Tue, Dec 20, 2011 at 9:14 PM, Fahreddın Basegmez 
> <mangab...@gmail.com>wrote:
>
>> If I can get the same response as Matlab I would be all set.
>>
>>
>> Octave results
>>
>> >> STIFM
>> STIFM =
>>
>> Diagonal Matrix
>>
>>      1020        0        0        0        0        0
>>         0     1020        0        0        0        0
>>         0        0     1020        0        0        0
>>         0        0        0   102000        0        0
>>         0        0        0        0   102000        0
>>         0        0        0        0        0   204000
>>
>> >> MASSM
>> MASSM =
>>
>> Diagonal Matrix
>>
>>     0.25907          0          0          0          0          0
>>           0    0.25907          0          0          0          0
>>           0          0    0.25907          0          0          0
>>           0          0          0   26.00000          0          0
>>           0          0          0          0   26.00000          0
>>           0          0          0          0          0   26.00000
>>
>> >> [a, b] = eig(STIFM, MASSM)
>> a =
>>
>>    0.00000   0.00000   0.00000   1.96468   0.00000   0.00000
>>    0.00000   0.00000   0.00000   0.00000   1.96468   0.00000
>>    0.00000   0.00000   1.96468   0.00000   0.00000   0.00000
>>    0.19612   0.00000   0.00000   0.00000   0.00000   0.00000
>>    0.00000   0.19612   0.00000   0.00000   0.00000   0.00000
>>    0.00000   0.00000   0.00000   0.00000   0.00000   0.19612
>>
>> b =
>>
>> Diagonal Matrix
>>
>>    3923.1        0        0        0        0        0
>>         0   3923.1        0        0        0        0
>>         0        0   3937.2        0        0        0
>>         0        0        0   3937.2        0        0
>>         0        0        0        0   3937.2        0
>>         0        0        0        0        0   7846.2
>>
>>
>> Numpy Results
>>
>> >>> STIFM
>> array([[   1020.,       0.,       0.,       0.,       0.,       0.],
>>        [      0.,    1020.,       0.,       0.,       0.,       0.],
>>        [      0.,       0.,    1020.,       0.,       0.,       0.],
>>        [      0.,       0.,       0.,  102000.,       0.,       0.],
>>        [      0.,       0.,       0.,       0.,  102000.,       0.],
>>        [      0.,       0.,       0.,       0.,       0.,  204000.]])
>>
>> >>> MASSM
>>
>> array([[  0.25907,   0.     ,   0.     ,   0.     ,   0.     ,   0.     ],
>>        [  0.     ,   0.25907,   0.     ,   0.     ,   0.     ,   0.     ],
>>        [  0.     ,   0.     ,   0.25907,   0.     ,   0.     ,   0.     ],
>>        [  0.     ,   0.     ,   0.     ,  26.     ,   0.     ,   0.     ],
>>        [  0.     ,   0.     ,   0.     ,   0.     ,  26.     ,   0.     ],
>>        [  0.     ,   0.     ,   0.     ,   0.     ,   0.     ,  26.
>> ]])
>>
>> >>> a, b = linalg.eig(dot( linalg.pinv(MASSM), STIFM))
>>
>> >>> a
>>
>> array([ 3937.15984097,  3937.15984097,  3937.15984097,  3923.07692308,
>>         3923.07692308,  7846.15384615])
>>
>> >>> b
>>
>> array([[ 1.,  0.,  0.,  0.,  0.,  0.],
>>        [ 0.,  1.,  0.,  0.,  0.,  0.],
>>        [ 0.,  0.,  1.,  0.,  0.,  0.],
>>        [ 0.,  0.,  0.,  1.,  0.,  0.],
>>        [ 0.,  0.,  0.,  0.,  1.,  0.],
>>        [ 0.,  0.,  0.,  0.,  0.,  1.]])
>>
>> On Tue, Dec 20, 2011 at 8:40 PM, Olivier Delalleau <sh...@keba.be> wrote:
>>
>>> Hmm... ok ;) (sorry, I can't follow you there)
>>>
>>> Anyway, what kind of non-normalization are you after? I looked at the
>>> doc for Matlab and it just says eigenvectors are not normalized, without
>>> additional details... so it looks like it could be anything.
>>>
>>>
>>> -=- Olivier
>>>
>>> 2011/12/20 Fahreddın Basegmez <mangab...@gmail.com>
>>>
>>>> I am computing normal-mode frequency response of a mass-spring system.
>>>>  The algorithm I am using requires it.
>>>>
>>>> On Tue, Dec 20, 2011 at 8:10 PM, Olivier Delalleau <sh...@keba.be>wrote:
>>>>
>>>>> I'm probably missing something, but... Why would you want
>>>>> non-normalized eigenvectors?
>>>>>
>>>>> -=- Olivier
>>>>>
>>>>>
>>>>> 2011/12/20 Fahreddın Basegmez <mangab...@gmail.com>
>>>>>
>>>>>> Howdy,
>>>>>>
>>>>>> Is it possible to get non-normalized eigenvectors from
>>>>>> scipy.linalg.eig(a, b)?  Preferably just by using  numpy.
>>>>>>
>>>>>> BTW, Matlab/Octave provides this with its eig(a, b) function but I
>>>>>> would like to use numpy for obvious reasons.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Fahri
>>>>>>
>>>>>
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion@scipy.org
>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>>
>>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to