Matriz numpy inmutable?

¿Hay una forma sencilla de crear una matriz NumPy inmutable?

Si uno tiene que derivar una clase de ndarray para hacer esto, ¿cuál es el conjunto mínimo de métodos que debe anular para lograr la inmutabilidad?

Puedes hacer una matriz numpy no grabable:

 a = np.arange(10) a.flags.writeable = False a[0] = 1 # Gives: RuntimeError: array is not writeable 

También vea la discusión en este hilo:

http://mail.scipy.org/pipermail/numpy-discussion/2008-December/039274.html

y la documentación:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flags.html