由数列标量组成的数列矩阵

2024-04-27 03:16:08 发布

您现在位置:Python中文网/ 问答频道 /正文

如何创建由theano标量组成的theano矩阵? 下面的代码创建一个由theano标量组成的numpy数组。但是我想要一个theano矩阵。在

C = T.cos
S = T.sin
q = T.fscalar(name="q%d"%self.i)

names = ['x','y','z']
Sx,Sy,Sz = map(lambda name: T.fscalar(name=name),names)

self.mat = np.array([[C(q),-S(q)*C(alpha),S(q)*S(alpha),a*C(q)+Sx],
                    [S(q),C(q)*C(alpha),-C(q)*S(alpha),a*S(q)+Sy],
                    [0,S(alpha),C(alpha),d+Sz],
                    [0,0,0,1]])

Tags: 代码nameselfalphanumpynames矩阵theano
1条回答
网友
1楼 · 发布于 2024-04-27 03:16:08

使用^{}的方法与使用np.array构造普通numpy数组的方法大致相同:

import numpy as np
import theano
from theano import tensor as te

a = te.fscalar("a")
b = te.fscalar("b")
M = te.stacklists([[a, b], [b, a]])

f = theano.function([a, b], M)

print(f(1.0, 2.0))
# [[ 1.  2.]
#  [ 2.  1.]]

您可以通过使用^{}^{}从标量构造一个1D向量,然后使用它的reshape方法将其重塑为具有所需维数的矩阵/张量。在

相关问题 更多 >