是否有一个寻找矩阵长度的Sage函数?



我在笔记本上有一个矩阵(Sage) -通过Jupyter。

如何在Sage中找到这个矩阵的大小?我知道在Python中我可以用

找到列表的长度
len(list)

在Sage中,是否有这样一个函数,但是有一个矩阵?有点像

len(matrix)

示例:

len([1, 2, 3])
3
len(matrix([[1, 2, 3], [4, 5, 6]]))
TypeError: object of type sage.matrix.matrix_integer_dense.Matrix_integer_dense' has no len()
同样

:

aMatrix = matrix([[1, 2, 3], [4, 5, 6]])
aMatrix
len(aMatrix)

谢谢!谢谢你的帮助。

使用

方法
  • nrows查询行数
  • ncols表示列数
  • dimensions同时为

例子:

sage: a = matrix([[1, 2, 3], [4, 5, 6]])
sage: a
[1 2 3]
[4 5 6]
sage: a.nrows()
2
sage: a.ncols()
3
sage: a.dimensions()
(2, 3)

获取元素的个数:

sage: a.nrows() * a.ncols()
6
sage: prod(a.dimensions())
6

其他变化:

sage: len(list(a))
2
sage: len(list(a.T))
3
sage: len(a.list())
6

解释:

  • list(a)给出行列表(作为向量)
  • a.T为转置矩阵
  • a.list()给出条目列表
  • a.dense_coefficient_list()也给出了
  • a.coefficients()给出非零项列表

细节:

sage: list(a)
[(1, 2, 3), (4, 5, 6)]
sage: a.T
[1 4]
[2 5]
[3 6]
sage: a.list()
[1, 2, 3, 4, 5, 6]

更多的可能性:

sage: sum(1 for row in a for entry in row)
6
sage: sum(1 for _ in a.list())
6

相关内容

  • 没有找到相关文章

最新更新