code: def createEvenlySpreadSDRs(numSDRs, n, w):
    
    assert w <= n
  
    available = np.arange(n)
    np.random.shuffle(available)
  
    SDRs = []
  
    for _ in xrange(numSDRs):
      selected = available[:w]
      available = available[w:]
  
      if available.size == 0:
        remainderSelected = np.random.choice(
          np.setdiff1d(np.arange(n), selected),
          size=(w - selected.size),
          replace= False)
        selected = np.append(selected, remainderSelected)
  
        available = np.setdiff1d(np.arange(n), remainderSelected)
        np.random.shuffle(available)
  
      selected.sort()
      SDRs.append(selected)
  
    return SDRs
docs: Return a set of ~random SDRs that use every available bit
    an equal number of times, +- 1.