This belongs on [sage-support] and thus I'm CCing my answer there (also, David
Kohel reads [sage-support] IIRC)
This seems to be the right way of doing it:
sage: S = AlphabeticStrings()
sage: E = SubstitutionCryptosystem(S)
sage: K = S('MHKENLQSCDFGBIAYOUTZXJVWPR')
sage: K
MHKENLQSCDFGBIAYOUTZXJVWPR
sage: type(K)
<class 'sage.monoids.string_monoid_element.StringMonoidElement'>
I agree that the difference between the two toplevel imports (or lack thereof)
is somewhat inconsistent, but I guess the reason is that
PermutationGroupElements are much more used than StringMonoidElements.
Cheers,
Martin
---------- Forwarded Message ----------
Subject: import of commands
Date: Monday 23 March 2009
From: Stanislav Bulygin <[email protected]>
To: Martin Albrecht <[email protected]>
...
I have a question regarding example-commands you have for crypto in
Sage. Namely, e.g. I want to define a concrete key for the substitution
cipher:
S = AlphabeticStrings()
E = SubstitutionCryptosystem(S)
K=StringMonoidElement(S,'MHKENLQSCDFGBIAYOUTZXJVWPR')
As such written I obtain an error "NameError: name 'StringMonoidElement'
is not defined". So I have to do this explicitly
from sage.monoids.string_monoid_element import StringMonoidElement
Interestingly enough, the following works fine with no further imports:
S = AlphabeticStrings()
E = TranspositionCryptosystem(S,5)
K = PermutationGroupElement('(4,2,5,3,1)')
So is there an inconsistency or is it just as it is? The thing is that I
need illustrations for the book we are writing (I think you received a
reply from Stein) and such things as 'from ... import ...' look kind of
ugly in an example.
Could you please comment on that?
Yours, Stas.
-------------------------------------------------------
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [email protected]
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---