Ah, this looks good! Interestingly, while this works in the sage notebook, changing it in the module results in an sage: from sage.crypto.linearlayer import LinearLayerFactory sage: LinearLayerFactory(GF(2))(MatrixSpace(GF(2), 2, 2), [1,0,0,1]) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-2-a15c8df99933> in <module>() ----> 1 LinearLayerFactory(GF(Integer(2)))(MatrixSpace(GF(Integer(2)), Integer(2), Integer(2)), [Integer(1),Integer(0),Integer(0),Integer(1)])
/home/asante/werkstatt/werkbank/sage/local/lib/python2.7/site-packages/sage/ crypto/linearlayer.pyc in LinearLayerFactory(K) 53 def LinearLayerFactory(K): 54 if K.characteristic() == 2 and K.degree() == 1: ---> 55 return type("LinearLayerGF2", (LinearLayer, Matrix_mod2_dense), {}) 56 if K.characteristic() == 2 and K.degree() >= 1: 57 return type("LinearLayerGF2E", (LinearLayer, Matrix_gf2e_dense), {}) TypeError: metaclass conflict: the metaclass of a derived class must be a ( non-strict) subclass of the metaclasses of all its bases -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.