By binary matrix, I mean every element in the matrix is either 0 or 1, and I use the Matrix class in numpy for this.
First of all, is there a specific type of matrix in numpy for it, or do we simply use a matrix that is populated with 0s and 1s?
Second, what is the quickest way for creating a square matrix full of 0s given its dimension with the Matrix class? Note: numpy.zeros((dim, dim)) is not what I want, as it creates a 2-D array with float 0.
Third, I want to get and set any given row of the matrix frequently. For get, I can think of using row = my_matrix.A[row_index].tolist(), which will return a list representation of the given row. For set, it seems that I can just do my_matrix[row_index] = row_list, with row_list being a list of the same length as the given row. Again, I wonder whether they are the most efficient methods for doing the jobs.
To make a numpy array whose elements can be either 0 or 1, use the
dtype = 'bool'parameter:Or, to convert
arrto a numpy matrix:To access a row:
and to set a row:
is the quickest way.