python中线性代数语法的混淆

python中线性代数语法的混淆,python,linear-algebra,Python,Linear Algebra,请让我知道我是否在正确的地方。这是我第一次来这里 在“else”部分,你能告诉我“for v In xc”部分是什么意思,特别是与上面几行的点积相比,“fact”后面的反斜杠起什么作用 在len=1的情况下,我们用一个矩阵点一个向量,这个矩阵实际上不是点积,而是矩阵乘法。但是,我想numpy.dot是允许的。对于else情况,是否将xc中的行(或列?)?如果是的话,这是否意味着numpy.dot允许向量乘以矩阵,但不允许矩阵乘以矩阵 def pdf(x,mu,sigma): d=np.a

请让我知道我是否在正确的地方。这是我第一次来这里

在“else”部分,你能告诉我“for v In xc”部分是什么意思,特别是与上面几行的点积相比,“fact”后面的反斜杠起什么作用

在len=1的情况下,我们用一个矩阵点一个向量,这个矩阵实际上不是点积,而是矩阵乘法。但是,我想numpy.dot是允许的。对于else情况,是否将xc中的行(或列?)?如果是的话,这是否意味着numpy.dot允许向量乘以矩阵,但不允许矩阵乘以矩阵

def pdf(x,mu,sigma):
    d=np.alen(mu)
    dfact1=(2*np.pi)**d
    dfact2=np.linalg.det(sigma)
    fact=1/np.sqrt(dfact1*dfact2)
    xc=x-mu
    isigma=-0.5*np.linalg.inv(sigma)
    if len(np.shape(x)) == 1:
      return fact*np.exp(np.dot(np.dot(xc, isigma),xc))
    else:
      return fact\
        *np.exp(
            [np.dot(np.dot(v, isigma),v) for v in xc]
        )

欢迎来到SO。你应该避免在一个问题中问多个问题。在你发布的代码中,你在哪里找到
np.shape(x)==1
?我只发现
len(np.shape(x))==1
,我怀疑这回答了你的问题,一旦你看过np.shape的文档…@khelwood谢谢,我会拿出第一个,特别是因为ahed87让我意识到我不知何故错过了len。@ahed87谢谢!不知何故,我错过了len一定很累了。反斜杠只是python中的行延续,在旧py2代码中经常使用,现在我更喜欢在括号中包装太长的行