求张量/矩阵/数组对称和非对称部分的NumPy函数

求张量/矩阵/数组对称和非对称部分的NumPy函数,numpy,Numpy,NumPy中是否有一个特殊函数,用于查找数组、矩阵或张量的对称和非对称部分。不知何故,我似乎缺少正确的Numpy术语(此时“symmetric”的英语同义词已经用光了)来找到函数 数学本身并不太复杂,无法编写代码,但我感兴趣的是Numpy是否有更快的算法: A = A(s) + A(a) A(s) = 0.5 * (A + A(^T)) A(a) = 0.5 * (A - A(^T)) 这似乎很简单,可能没有内置的实现。我建议您编写一个进行分解的函数,然后继续。事实上,Python开发人员经常

NumPy中是否有一个特殊函数,用于查找数组、矩阵或张量的对称和非对称部分。不知何故,我似乎缺少正确的Numpy术语(此时“symmetric”的英语同义词已经用光了)来找到函数

数学本身并不太复杂,无法编写代码,但我感兴趣的是Numpy是否有更快的算法:

A = A(s) + A(a)
A(s) = 0.5 * (A + A(^T))
A(a) = 0.5 * (A - A(^T))

这似乎很简单,可能没有内置的实现。我建议您编写一个进行分解的函数,然后继续。事实上,Python开发人员经常听到的一个表达是“不是每一个可以在一行中定义的函数都必须包含在标准库中”。此外,您需要一个更快的算法,但我认为没有明显的方法可以在不使用C实现的情况下加快速度,即使这样,增益也会很小(因子2左右),因为加法、乘法和转置应该已经足够优化了。你是否分析了你的代码,这个函数是不是一个瓶颈?如果不是,这是过早的优化,你是在浪费时间。我没有这样想过。不,代码是无瓶颈的。作为numpy的新手,我认为会有一个函数。但我并不像一个程序员那样认为不需要特殊功能的代码足够快。谢谢你们两个!(并考虑发表意见)