Dear Sage/Sage-combinat devs, On Mon, Jan 18, 2010 at 10:40:18AM +0100, Nicolas M. Thiery wrote: > * #7980: Extract basic support for the "concrete representation of an > abstract algebra" relation out of the ncsf patch (Jason?)
This is a concept that we have used much in MuPAD-Combinat, and the design is pretty clear. On the other hand, we need some good naming suggestions, which is the purpose of this e-mail. The general concept is as follow: some (many?) algebraic structures that we want to implement in Sage admit several concrete representations. To take a simple example: The symmetric group S_n: - as a group C of permutations in cycle notation - as a group P of permutations in list notation - as a group M of matrices - ... Computationally, the different representations each have their own merits, and we want them all, and easy coercions between them. That's our main source of interest and use of the coercion mechanism. Now, in practice, it is useful to implement parents not only for the various concrete representations, but also for the abstract algebraic structure, which plays several roles, among which: - a join parent (we would call it facade parent in MuPAD), whose elements are represented in any of the concrete parents. - a main entry point for the user. - an orchestra conductor for all the coercions, ... All of this to say that we need to model in Sage this relationship C <-> A, where C is a concrete implementation of an abstract algebraic structure A. We are looking for good vocabulary: - C is a concrete representation of A? - C is a model for A? - A is an abstract algebraic structure? an abstract parent? a parent with several models? In practice, that would be reflected by things like: - C.model_for() returns A - A.models() returns C, ... - C in the category ModelsFor(A) Thanks in advance for your feedback! Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/
-- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org