【问题标题】:Matrix terminology矩阵术语
【发布时间】:2016-11-27 18:14:24
【问题描述】:

在处理列表列表时,我发现了三个有用的操作。

mat=[list('abc'),list('pqr'),list('xyz')]

1.mat=[x for sl in mat for x in sl](“展平”)

  1. mat=list(zip(*mat))(转置)

  2. mat=mat[::-1](“翻转”;先变成后,反之亦然)

这些操作的具体术语是什么,我忽略了哪些关键操作?

【问题讨论】:

  • 我猜你可以称之为列表转换。另一个有用的转换是旋转:从列表的一端移动项目并将它们添加到另一端;在 Python 中执行此操作的常用方法是通过切片。
  • 顺便说一句,您可以使用map 进行初始构造,尽管仅使用 3 个字符串并没有太大区别。 mat = list(map(list, ('abc', 'pqr', 'xyz')))。此外,list(zip(*[iter('abdpqrxyz')]*3))list(map(list,zip(*[iter('abdpqrxyz')]*3))) 如果内部序列必须是列表而不是元组。

标签: python arrays list matrix linear-algebra


【解决方案1】:
  1. 在我的世界角落,这通常被称为“光栅化”矩阵(尽管我们可能从图像处理中挪用了这个术语)。 Numpy 称之为ravel()。 Matlab 将其称为“矢量化”并使用colon operator(搜索A(:))。
  2. Transpose 是标准的数学和数字名称。
  3. Numpy 和 Matlab 都称其为 fliplr(左-右)和 flipud(上-下)。

还有很多其他的矩阵运算,一些更常见,一些更少。看看 Numpy/Matlab/Julia/等。文档会让你大吃一惊。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2018-04-29
    • 1970-01-01
    • 2018-05-04
    • 2015-06-17
    • 2017-09-12
    • 2011-03-15
    相关资源
    最近更新 更多