class_docstr: Basic topological (non-weighted) directed Graph class
  
  Member variables:
  
  * V (int > 0): the number of vertices
  * E (int >= 0): the number of edges
  
  Properties:
  
  * vertices (list, type=int, shape=(V,))  vertices id
  * edges (list, type=int, shape=(E,2)): edges as vertices id tuples
class_docstr_tok: ["Basic","topological","(","non-weighted",")","directed","Graph","class","Member","variables",":","*","V","(","int",">","0",")",":","the","number","of","vertices","*","E","(","int",">","=","0",")",":","the","number","of","edges","Properties",":","*","vertices","(","list",",","type=int",",","shape=","(","V",",",")",")","vertices","id","*","edges","(","list",",","type=int",",","shape=","(","E,2",")",")",":","edges","as","vertices","id","tuples"]
docstr: Returns the degree of the graph vertices.
  
  Returns
  -------
  rdegree: (array, type=int, shape=(self.V,)), the right degrees
  ldegree: (array, type=int, shape=(self.V,)), the left degrees
   
docstr_tok: ["Returns","the","degree","of","the","graph","vertices",".","Returns","--","--","--","-","rdegree",":","(","array",",","type=int",",","shape=","(","self.V",",",")",")",",","the","right","degrees","ldegree",":","(","array",",","type=int",",","shape=","(","self.V",",",")",")",",","the","left","degrees"]
code: def degrees(self):
      """Returns the degree of the graph vertices.
  
      Returns
      -------
      rdegree: (array, type=int, shape=(self.V,)), the right degrees
      ldegree: (array, type=int, shape=(self.V,)), the left degrees
      """
      A = self.adjacency()
      A.data = np.ones(A.nnz)
      right = np.array(A.sum(1)).ravel()
      left = np.array(A.sum(0)).ravel()
      return right, left
  
imports: import numpy
  from scipy.sparse import coo_matrix
label_desc: Use image node_id 11 for calling the Graph obj's underlying member method code with example usage: obj.degrees() and returns: right,  left