我在笔记本上有一个矩阵(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