How to print the numeric part of a symbolic expression with arbitrary precision?
How to print the numeric part of a symbolic expression with arbitrary precision?
I have a matrix Hf
, it is a 3 by 3 matrix. It's a symbolic matrix, with just one variable 'E'. But on printing it, I get the as shown below. Basically what I want is to approximate the numerical part of the expression to arbitrary precision (let's say 3 decimal points), so that I can get a much cleaner expression.
sage: Hf.str()
[(πΌ.πΆπΏπΆπ»πΈπΌπΊπΌπ»πΏπΊπΊπΏπ½πβ―πΌ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄β―πΆ.πΆπΆπΆπΈπ·π½πΌπ·πΉπΎπΈπ»π·πΆπΆπΆπΆπΌ*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄+π·πΆπΆπΆβ―πΆ.πΆπΆπΆπΈπ·π½πΌπ·πΉπΎπΈπ»π·πΆπΆπΆπΆπΌ*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄+(πΌ.πΆπΏπΆπ»πΈπΌπΊπΌπ»πΏπΊπΊπΏπ½πβ―πΌ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄πΆ.πΆπΆπΆπΈπ·π·π»πΈπΉπΈπΏπΎπΌπΉπΊπΆπΌπ·*ππππ(πΈ)*πππ(π·/π·πΎ*ππ)/π΄][β―πΆ.πΆπΆπΆπ·π»πΌπΈπ»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆ*ππππ(πΈ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*πππ(π·/π·πΎ*ππ)/π΄+(πΊ.πΌπΎπ½π»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπβ―πΌ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄β―πΆ.πΆπΆπΆπ·π»πΌπΈπ»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆ*ππππ(πΈ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*πππ(π·/π·πΎ*ππ)/π΄+(πΊ.πΌπΎπ½π»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπβ―πΌ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))ΛπΈ/π΄β―(πΊ.πΌπΎπ½π»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπβ―πΌ)*ππππ(πΈ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*πππ(π·/π·πΎ*ππ)/π΄+πΆ.πΆπΆπΆπΉπ·πΈπ»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπΆ*πππ(π·/π·πΎ*ππ)ΛπΈ/π΄][β―πΆ.πΆπΆπΆπ·π»πΌπΈπ»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆ*ππππ(πΈ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*πππ(π·/π·πΎ*ππ)/π΄+(πΊ.πΌπΎπ½π»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπβ―πΌ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄β―πΆ.πΆπΆπΆπ·π»πΌπΈπ»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆ*ππππ(πΈ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*πππ(π·/π·πΎ*ππ)/π΄+(πΊ.πΌπΎπ½π»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπβ―πΌ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)β―ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))/π΄β―(πΊ.πΌπΎπ½π»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπβ―πΌ)*ππππ(πΈ)*(ππππ(πΈ)*πππ(π½/πΉπΌ*ππ)*πππ(π·/π·πΎ*ππ)+ππππ(πΈ)*πππ(π½/πΉπΌ*ππ))*πππ(π·/π·πΎ*ππ)/π΄+πΆ.πΆπΆπΆπΉπ·πΈπ»πΆπΆπΆπΆπΆπΆπΆπΆπΆπΆπΆ*πππ(π·/π·πΎ*ππ)ΛπΈ/π΄]
It would be interesting to get some Sage commands that allow to create this matrix.
If not the original commands, then at least one way to get hold of this matrix.
To share the matrix but not the original way it was produced, you could run
and if that works you could copy and paste what it produces, which will give a way for others to define the same matrix and try things out on it.