python_sum of matrices
1
0
Entering edit mode
6.2 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 • 1.3k views
ADD COMMENT
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.

ADD REPLY
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 [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]

ADD REPLY
0
Entering edit mode

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

ADD REPLY
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.?

ADD REPLY
2
Entering edit mode
6.2 years ago
Joe 21k

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
ADD COMMENT

Login before adding your answer.

Traffic: 1477 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6