See [here](http://docs.python.org/2/reference/datamodel.html).
> Every object has an identity, a type and a value. An object’s identity never changes once it has been created; you may think of it as the object’s address in memory. The ‘is‘ operator compares the identity of two objects

In this case, X is sparse and Xt is dense so I think `is` should return you `False` since they will always be represented by two different objects.