def update(A):
   """
   Applies the rules of Conway's game of life.
   """
   B = neighbor_count_matrix(A)
   C = update_matrix(A,B)
   return C
def main():
    """
   Test on rules.
   """
    n = 20
    r = 0.3
    A = np.random.rand(n, n)
    A = np.matrix(A < r, int)
    B = neighbor_count_matrix(A)
    C = update(A, B)
    print "live cells :"
    print A
    print "apply original rules :"
    print C
    D = update_matrix(A, B)
    print "apply matrix rules :"
    print D
    print "equality check :"
    print np.equal(C, D)