gpt4 book ai didi

python - sage中矩阵元素的条件定义

转载 作者:行者123 更新时间:2023-11-30 22:51:55 26 4
gpt4 key购买 nike

在 Sage 中,尝试通过以下方式定义具有单元格条件的矩阵:

matrix([[(if gcd(i, j) == 0: log(radical((i+j)*i*j)) else: -1.0) for j in srange(1, 5)] for i in srange(1, 5)])

我收到语法错误:

...
matrix([[(if gcd(i, j) == _sage_const_0 : log(radical((i+j)*i*j)) else: -_sage_const_1p0 ) for j in srange(_sage_const_1 , _sage_const_5 )] for i in srange(_sage_const_1 , _sage_const_5 )])
^
SyntaxError: invalid syntax

这里有什么问题吗?如何解决这个问题?

最佳答案

你的问题实际上是 Python 问题,而不是 Sage 本身。 Python 对列表推导式有一些过滤,但它看起来不是这样的。参见例如this question .

所以let's try it :

matrix([[log(radical((i+j)*i*j)) if gcd(i,j)==0 else -1.0 for j in srange(1,5)] for i in srange(1,5)])

顺便问一下,你真的想要if gcd(i,j)==1吗?你不太可能在这个中得到零的 gcd!

关于python - sage中矩阵元素的条件定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38848560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com