Is there any way I can have I not refer to the imaginary unit?
I like the letter I, it's a terrible choice of letter for the imaginary unit, and I almost never input I directly anyway.
I would have thought there would be a way of shadowing any function I don't want to address within a particular scope, and have that scope be the one used by my notebook. But I can't figure out how to do that.
The docs for Locked do not explain this.
Ihas theLockedattribute and thus cannot be modified. – JungHwan Min Aug 24 '16 at 02:14Locked. – JungHwan Min Aug 24 '16 at 02:21Ibeing a system symbol since my variables and function names in applications were best calledI. A "trick" around this is to use Greek capital iota (alias:esc-I-esc), which looks exactly like the LatinI. With more experience, I trained myself to have all my variables begin with lower case letter (since the capital ones are always reserved for system variables anyway). – QuantumDot Aug 24 '16 at 02:25Module[]tag, why can't I make it so the interpreter is similarly scoped? – Lucas Aug 24 '16 at 02:26Module[{I}, I]. – QuantumDot Aug 24 '16 at 02:27Modulerenames the symbol. i.e.Module[{I}, SymbolName[I]]. Observe that theBlockversion of that code does not work becauseBlockdoes not rename variables. – JungHwan Min Aug 24 '16 at 02:27Iis a terrible choice of letter for a variable name (but reasonable for a system-level constant)... I'm so glad that they locked it down. – rm -rf Aug 24 '16 at 02:28I, try\[CapitalIota](input asEsc I Esc). Likewise,\[CapitalNu]forN– rm -rf Aug 24 '16 at 02:34I = ImaginaryUnit[]- or even betterImport[Imaginary]or something - imagine someone at Wolfram Research realised that global variables are always a terrible idea. – Lucas Aug 24 '16 at 02:35C,D,E, andOare built-in as well. – JungHwan Min Aug 24 '16 at 02:36\[ScriptCapitalI]uses a style variant of I – Sander Aug 24 '16 at 06:05$PreReadand$PostReadsystem is interesting. – Lucas Sep 06 '16 at 22:17