code: def hash_vector(self, v, querying=False):
          
          if scipy.sparse.issparse(v):
              # If vector is sparse, make sure we have the CSR representation
              # of the projection matrix
              if self.normals_csr == None:
                  self.normals_csr = scipy.sparse.csr_matrix(self.normals)
              # Make sure that we are using CSR format for multiplication
              if not scipy.sparse.isspmatrix_csr(v):
                  v = scipy.sparse.csr_matrix(v)
              # Project vector onto all hyperplane normals
              projection = self.normals_csr.dot(v)
          else:
              # Project vector onto all hyperplane normals
              projection = numpy.dot(self.normals, v)
          # Return binary key
          return [''.join(['1' if x > 0.0 else '0' for x in projection])]
docs: Hashes the vector and returns the binary bucket key as string.