python_sum of matrices
1
0
Entering edit mode
4.0 years ago
lucas_ ▴ 20

I have a matrix of matrices in python, a list of lists inside the main matrix I have 36 matrices, I need the sum of all 36 matrices like the sum of rows of the matrix in one row, here I need a sum of all 36 matrices in one matrix. any ideas, please?

python matrices • 809 views
1
Entering edit mode

Hello lucas_!

We believe that this post does not fit the main topic of this site.

Not a bioinformatics question!

For this reason we have closed your question. This allows us to keep the site focused on the topics that the community can help with.

If you disagree please tell us why in a reply below, we'll be happy to talk about it.

Cheers!

### JH Edited Content:

Reopened the thread since it got an answer prior to being locked.

0
Entering edit mode

I am sorry to be late for answering, the idea is i need to extract from sequence profile ,windows of 16 residues for each position the matrix rows look like that

[ [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []],
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []],
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []],
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []],
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []] ]


every list [] includes float values

['0.0', '0.0', '0.0', '1.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0']


i need the sum of all matrices inside the big matrix in one matrix that is mean one matrix [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]

0
Entering edit mode

See my answer in that case, I think it should work for your needs.

0
Entering edit mode

Can you clarify or add some example data?

It’s not clear to me if you want the sum of some particular row, or the sum of all 36 ‘internal’ matrices, or the sum of everything etc.?

1
Entering edit mode
4.0 years ago
Joe 20k

I'll have a stab at this, but it needs more clarification from OP.

Here is a 'base' python way of dealing with the problem purely as lists.

Assuming the following dummy 'matrix of matrices':

>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>> M = [matrix, matrix, matrix]
>>> print(M)
# [[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 5, 6], [7, 8, 9]]]


Define a function capable of summing a single matrix (a 2D array):

>>> def mat_sum(input):
return sum(map(sum, input))


Then,

>>> mat_sum(matrix)
45


To then deal with your higher dimensional matrix, you could do something like:

# Sums of each 'sub matrix'
>>> [mat_sum(i) for i in M]
[45, 45, 45]
# Sum of whole matrix
>>> sum([mat_sum(i) for i in M])
135


A better way would probably be to convert the matrices to numpy objects which has methods for handling this already:

import numpy as np
>>> np_matrix = np.matrix(matrix)
>>> np_matrix
matrix([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Unfortunately, numpy matrices must be 2D, so we have to assign the top level matrix to an array instead
>>> np_M = np.array(M)
>>> np_M
array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],

[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],

[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]])
# However the sum function works just fine either way...
>>> np.sum(np_matrix)
45
>>> np.sum(np_M)
135
`