> 4. MATRIX INPUT > If the "[...]m" syntax is messing too much with Python's syntax, don't > implement it then, but I keep thinking there should be an easier way > than the one right now to input matrices. It's just not comfortable > for people who does an intensive usage of matrices. > (Another alternate syntax would be using a semicolon inside a list: > "[1,2;3,4]", or "[1,2,3;]" for row matrices; it's more Matlab-like but > it still has the same problem... although there are already some cases > such as "list(1..10)" that don't look like valid Python)
I like this syntax. It's not too invasive to existing syntax and doesn't seem to clash with anything, and it is admittedly very convenient (one of the few things I like about the Matlab language). As a rather new user to Sage, I can definitely say that when I first looked at Sage, I would have thought it rather natural had this syntax been in use already. I like that William's idea (matrix as a string) is possible, but I would really not want see it as encouraged standard in Sage; personally, purely out of principle, I would never use it if it was introduced ;-) > 6. TRANSPOSE/CONJUGATE > It seems that implementing this would just involve modifying the > __pos__(self) method for complexes, matrices and complex matrices, and > I think that both conjugating and transposing are common enough > operations to deserve its own operator. I disagree that they deserve their own operators. But adding a very shorthand method name inside the Matrix class could be nice, I guess. >> Finally, having multiple interfaces to Sage would be a great thing! >> The notebook is great for many educational and research purposes, the >> command line for others, and why not one for engineering/programming? >> Are there any IDE candidates which could have a different system like >> Sage 'plugged in' without much effort? >+1. I think building on the existing notebook might be better than >starting fresh (e.g., the proposal to make codemirror an interface >sounds great). Also, I think a stand-alone IDE might make a lot of >sense, though as web browsers are getting more and more capable, a >stand-alone IDE is becoming less attractive. If energy is to be put into specialised IDEs or interfaces, my vote is definitely for generalising Notebook to supporting more specific interfaces, which can then be easily activated (like for the drop-down- menu for choosing input-language). That being said, I'm not exactly sure what should be supported; I guess from the above discussion that we're not talking about specific syntax-extensions, right? So it could be e.g. - including a module containing various short-hand functions, like the "m" function above - import a list of "usual suspects"-packages - various helper-buttons with specialised contents - a few specialised help-pages I might be way off, but if it is just the above, I guess supporting highly generic "specialised IDEs" in the sense of the above should be quite easy to implement in Notebook? One could also support endusers customising these elements to a very high degree. Cheers, Johan -- 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