【问题标题】:Initialize a Sympy row vector without transpose在没有转置的情况下初始化 Sympy 行向量
【发布时间】:2022-01-14 15:43:58
【问题描述】:

使用sympy.Matrix([1, 2, 3, 4]) 初始化向量会创建一个 (4, 1) 矩阵,这与 numpy 中的 (1, 4) 不同。执行sympy.Matrix([[1], [2], [3], [4]]) 会初始化相同的 (4, 1) 矩阵。所以我必须做sympy.Matrix([1, 2, 3, 4]).T 才能得到一个行向量。 有没有办法在没有转置的情况下做到这一点?
我在文档中找不到有关行向量或 (1, n) 矩阵的任何信息。

【问题讨论】:

  • 使用.T有什么问题?
  • @OscarBenjamin 这似乎是一种 hack 而不是惯用的方法
  • 我不认为这是一个“黑客”。不过,您可以按照自己的喜好编写代码。

标签: sympy


【解决方案1】:

来自文档

To make it easy to make column vectors, a list 
of elements is considered to be a column vector.

行向量只需要额外的一组[]

sympy.Matrix([[1, 2, 3, 4]])

不要使用np.matrix 作为任何东西的模型。对于任性的 MATLAB 程序员来说,这是一个权宜之计 :)

更多用法示例在

https://docs.sympy.org/latest/modules/matrices/matrices.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2017-04-22
    • 2015-08-10
    • 2021-06-09
    相关资源
    最近更新 更多