2014-05-11 4 views
3

This thread은 numpy를 사용하여 파이썬에서 두 행렬의 텐서 곱을 계산하는 방법에 성공적으로 응답합니다. 그러나 출력을 적절한 행렬 형식으로하여 수동으로 편집하지 않고도 더 많은 계산을 수행 할 수 있기를 바랍니다.파이썬에서 두 행렬의 사용 가능한 텐서 곱을 생성하는 방법

[[[[1 0] 
    [0 1]] 

    [[0 0] 
    [0 0]]] 


[[[0 0] 
    [0 0]] 

    [[1 0] 
    [0 1]]]] 

내가 그것을 원하는 형태 : 나는 내에서의 추가 작업을 수행 할 수 있도록

[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]] 

예를 들어

,

I=matrix([[1,0],[0,1]]) 
print np.tensordot(I, I, axes=0) 

출력을 제공합니다 프로그램 자체.

어떻게하면됩니까?

+1

크로네 커 텐서 곱은 [numpy.kron] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.kron.html)을 사용하여 계산할 수 있습니다. . 그렇지 않은 경우, 나중에 제품에 대한 정의를 줄 수 있습니까? – Phillip

+0

@Phillip 해결책을 찾은 것 같아서 답변으로 의견을 게시 할 수 있습니다 ... –

+0

오, 완벽! 이것은 내가 필요한 것입니다! 정말 고맙습니다. 나는 그 대답이 내가 간과 해왔을지도 모르는 단순한 것이기를 바랐다. – user3625380

답변

6

크로네 커 텐서 산물은 numpy.kron을 사용하여 계산할 수 있습니다.

관련 문제