在MATLAB中,您可以使用函数来计算矩阵的Jordan范式jordan
。
在NumPy和SciPy中有可用的等效功能吗?
MATLAB
jordan函数来自Symbolic Math
Toolbox,因此从SymPy库中获取Python替代品似乎并不合理。具体来说,Matrix
该类具有method
jordan_form
。创建sympy矩阵时,可以将numpy数组作为参数传递。例如,以下摘自Jordan标准格式的Wikipedia文章:
In [1]: import numpy as np
In [2]: from sympy import Matrix
In [3]: a = np.array([[5, 4, 2, 1], [0, 1, -1, -1], [-1, -1, 3, 0], [1, 1, -1, 2]])
In [4]: m = Matrix(a)
In [5]: m
Out[5]:
Matrix([
[ 5, 4, 2, 1],
[ 0, 1, -1, -1],
[-1, -1, 3, 0],
[ 1, 1, -1, 2]])
In [6]: P, J = m.jordan_form()
In [7]: J
Out[7]:
Matrix([
[1, 0, 0, 0],
[0, 2, 0, 0],
[0, 0, 4, 1],
[0, 0, 0, 4]])
问题内容: 有没有比numpy 2D数组更好的方法来计算给定行出现在numpy 2D数组中的次数 问题答案: 一种简单的方法是- 考虑到内存效率,这是一种将每行作为网格上的索引元组并假设输入中为正数的一种方法- 这 是一篇讨论与之相关的各个方面的文章。 注意: 使用计数布尔值可能要快得多,而不是使用求和。因此,请考虑将其用于上述两个方法。 这是一个快速的运行时测试-
本文向大家介绍Python中的Numpy矩阵操作,包括了Python中的Numpy矩阵操作的使用技巧和注意事项,需要的朋友参考一下 Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包。 NumPy 是一个非常优秀的提供矩阵操作的包。NumPy的主要目标,就是提供多维数组,从而实现矩阵操作。 NumPy
问题内容: 这是我目前的方式。有什么办法可以使用矩阵运算吗?X是数据点。 问题答案: 您是否要使用高斯核进行图像平滑?如果是这样,则scipy中有一个函数: 更新的答案 这应该可以工作- 尽管仍不能100%准确,但它会尝试考虑网格每个像元内的概率质量。我认为在每个像元的中点使用概率密度的准确性稍差,尤其是对于小内核。有关示例,请参见https://homepages.inf.ed.ac.uk/rb
问题内容: 我想通过Tensorflow计算Jacobian矩阵。 是)我有的: 是损失函数,都是可训练的变量,并且是许多数据。 但是,如果我们增加数据数量,则需要花费大量时间来运行该功能。有任何想法吗? 问题答案: 假设和是Tensorflow张量,并且取决于: 结果具有形状,并提供的每个元素相对于的每个元素的偏导数。
我有一个矩阵。只有唯一的颜色以不同的权重重复它们自己。从它们中,我得选择一半,另一半必须用从第一个中最接近的元素替换。 我想到了在图像中循环,并搜索最近的颜色为当前的一个。找到后,我把一个换成另一个。 但我有3个循环、、。前两个I循环通过RGB矩阵,第三个用于循环到包含最终颜色的矩阵。这需要一些时间来计算。 可以做些什么来加快它的速度? 循环如下所示: 表示选择为最终颜色的半色。 我可以考虑一些小
如上所述,我需要用Python找到矩阵的基-2-对数。当然,我知道公式$log_a(x)=ln(x)/ln(a)$,其中ln是自然对数,但据我所知,这只适用于标量参数x(如果我错了请纠正我)。至少我还没有看到任何论据,为什么这也适用于矩阵。 那么,有人知道是否存在这样一个内置在matrix-log2函数吗? 或者:由于几年前我使用过Mathematica,所以我知道了MatrixFunction[