Ask Your Question

Nice display of a list of "matrices"

asked 2014-01-30 01:04:58 -0600

boumol gravatar image

In the context of graphs I have seen that it is possible to display in a very nice picture of all graphs in a certain list using for instance the following code:

sage: G = GraphQuery(display_cols=['graph6'], num_vertices=7, diameter=5)
sage: L = G.get_graphs_list()
sage: graphs_list.show_graphs(L)

The output one gets is the picture image description

I would like to get the same output display but this time using a diferent kind of objects (instead of graphs), namely matrices for the sake of this question. So, here is the question: suppose you have a list L of matrices, for example the one defined by

sage: L=[ MatrixSpace(ZZ,3).random_element() for i in [0..8]]

Is there some way to obtain a picture of the same kind than before except for replacing the graphs with the display of each one of the matrices in L?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2014-01-30 05:02:06 -0600

You could define a function to produce a latex array (or tabular):

def matrix_array(L,ncols):
    nl = '\n'
    s = nl + r'\begin{array}{' + ('c' * ncols) + r'}' + nl
    for k in xrange(len(L)):
        if k%ncols != 0: s += '&' + nl
        s += str(latex(L[k])) + nl
        if ((k+1)%ncols == 0) or (k == len(L)):
            s += r'\\' + nl
    s += r'\end{array}' + nl
    return LatexExpr(s)

and then view it:

sage: L = [MatrixSpace(ZZ,3).random_element() for i in [0..8]]
sage: view(matrix_array(L,ncols=3))
edit flag offensive delete link more


Thanks. Your answer has really helped me.

boumol gravatar imageboumol ( 2014-01-31 04:20:28 -0600 )edit

answered 2014-01-31 21:47:07 -0600

ndomes gravatar image

Just another suggestion:

L = [random_matrix(ZZ,2,2) for k in range(20)]
def list_of_lists(L,ncol):
    return [L[k:k+ncol] for k in range(0,len(L),ncol)]
edit flag offensive delete link more


Thanks. Is there some easy way to get the output in pdf format (or in png, jpg)? I ask this because later I want to use this output inside a paper I am writing using LaTeX.

boumol gravatar imageboumol ( 2014-02-02 21:07:02 -0600 )edit

ndomes gravatar imagendomes ( 2014-02-03 02:07:12 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2014-01-30 01:04:58 -0600

Seen: 240 times

Last updated: Jan 31 '14