如何在格式化字符串中嵌入来自 sympy 的矩阵符号形式?
How to embbed a matrix symbolic form from sympy in a formatted string?
在笔记本中,打印一个sympy矩阵并不难
但是这不适用于格式化字符串:
如何保持格式化字符串中的符号表示?
正文代码:
import sympy
sympy.init_printing()
C = sympy.Matrix([[2, 3], [4, 5]])
display (C)
display (f'{C} x {C} = {C*C}')
In [1]: C = Matrix([[2,3],[4,5]])
In [2]: C
Out[2]:
⎡2 3⎤
⎢ ⎥
⎣4 5⎦
f'{}'
格式使用 repr
或 str
对象的 C
格式:
In [3]: repr(C)
Out[3]: 'Matrix([\n[2, 3],\n[4, 5]])'
In [4]: str(C)
Out[4]: 'Matrix([[2, 3], [4, 5]])'
是python格式化操作,不注意sympy's
显示方式
https://docs.sympy.org/latest/tutorial/printing.html 文档 sympy
印刷,虽然我没有立即看到对您有帮助的想法。
要将整个事物显示为一个 sympy 表达式,必须将整个事物呈现为一个整体;我们不能分别为每个部分设置格式:
In [9]: display(C, 'x', C, '=', C*C)
⎡2 3⎤
⎢ ⎥
⎣4 5⎦
'x'
⎡2 3⎤
⎢ ⎥
⎣4 5⎦
'='
⎡16 21⎤
⎢ ⎥
⎣28 37⎦
===
根据评论:
In [11]: Eq(MatMul(C, C), C*C)
Out[11]:
⎡2 3⎤ ⎡2 3⎤ ⎡16 21⎤
⎢ ⎥⋅⎢ ⎥ = ⎢ ⎥
⎣4 5⎦ ⎣4 5⎦ ⎣28 37⎦
在笔记本中,打印一个sympy矩阵并不难
但是这不适用于格式化字符串:
如何保持格式化字符串中的符号表示?
正文代码:
import sympy
sympy.init_printing()
C = sympy.Matrix([[2, 3], [4, 5]])
display (C)
display (f'{C} x {C} = {C*C}')
In [1]: C = Matrix([[2,3],[4,5]])
In [2]: C
Out[2]:
⎡2 3⎤
⎢ ⎥
⎣4 5⎦
f'{}'
格式使用 repr
或 str
对象的 C
格式:
In [3]: repr(C)
Out[3]: 'Matrix([\n[2, 3],\n[4, 5]])'
In [4]: str(C)
Out[4]: 'Matrix([[2, 3], [4, 5]])'
是python格式化操作,不注意sympy's
显示方式
https://docs.sympy.org/latest/tutorial/printing.html 文档 sympy
印刷,虽然我没有立即看到对您有帮助的想法。
要将整个事物显示为一个 sympy 表达式,必须将整个事物呈现为一个整体;我们不能分别为每个部分设置格式:
In [9]: display(C, 'x', C, '=', C*C)
⎡2 3⎤
⎢ ⎥
⎣4 5⎦
'x'
⎡2 3⎤
⎢ ⎥
⎣4 5⎦
'='
⎡16 21⎤
⎢ ⎥
⎣28 37⎦
===
根据评论:
In [11]: Eq(MatMul(C, C), C*C)
Out[11]:
⎡2 3⎤ ⎡2 3⎤ ⎡16 21⎤
⎢ ⎥⋅⎢ ⎥ = ⎢ ⎥
⎣4 5⎦ ⎣4 5⎦ ⎣28 37⎦