# Get a matrix to display answers as decimals/floats, not fraction?

I searched and couldn't find a viable solution:

I successfully executed the following:

ma = matrix([[25, 5, 1], [49, 7, 1], [81, 9, 1]])
mb = matrix([, , ])
show(ma)
show(mb)
ms = ma^-1 * mb
show(ms)


Unfotunately though, the statement, show(ms), displays the answer/values as fractions, meaning I have to manually enter each of the value 3 separate times, as part of a float function, i.e., float(fraction/number).

How can I force show(ms), to display the values as decimals?

Also I find the matrix more readable/writable if I can enter each row's values by their own line, instead of the same line, as seen on the the, ma= & mb= statements. I remember I could this with ease in MatLab. I'd appreciate knowing how to that as well.

This post also has an unanswered question if anyone is up for the challenge, :P, j/k: http://ask.sagemath.org/question/2732...

edit retag close merge delete

Sort by » oldest newest most voted

1) You can easily write matrix "multilined". By default Python joins lines if the first one contains an opening bracket/parenthesis. Hence you can easily write:

ma = matrix([
[25, 5, 1],
[49, 7, 1],
[81, 9, 1]])
mb = matrix([
,
,
])


2) In order to display matrix entries as decimals you may convert a matrix base field to RDF like this:

ms = ma^-1 * mb
show(matrix(RDF, ms))


or alternatively:

show(ms.change_ring(RDF))

more

1