I can do
Symbol["foobar"]
to create a symbol foobar
. How to create a symbol $\theta_1$?
Symbol[Subscript[\[Theta], 1]]
doesn't work.
Although your question is stated clear, I'm still wondering whether you understood, that Subscript[\[Theta], 1]
is not a symbol. It's a box-structure! Therefore, what you do when you assign it a value like
is, that you don't assign a value to some indexed variable x
. No, you assign a value (a DownValue
) to Subscript
Let's assume I can guess that you like to use some indexed variable in your code then you should consider to work with the Notation
package as already pointed out in the comments.
You can, after loading the Notation
package, define a symbol like pattern which you want to use for a indexed variable. So for instance
Note, that the parameter is x
subscript Blank[]
!
Needs["Notation`"]
Symbolize[ParsedBoxWrapper[SubscriptBox["x", "_"]]]
If you now look at InputForm[Subscript[x, 1]]
you see, that the notation package transforms this into valid symbol-name only consisting of letters
At this point you could use ToExpression
to define a vector
Table[ToExpression["Subscript[x, " <> ToString[i] <> "]"], {i, 10}]
and the moment you evaluate this you have your new variables
Names["x\[UnderBracket]Subscript\[UnderBracket]*"]
(*
{"x\[UnderBracket]Subscript\[UnderBracket]1",
"x\[UnderBracket]Subscript\[UnderBracket]10",
"x\[UnderBracket]Subscript\[UnderBracket]2",
"x\[UnderBracket]Subscript\[UnderBracket]3",
"x\[UnderBracket]Subscript\[UnderBracket]4",
"x\[UnderBracket]Subscript\[UnderBracket]5",
"x\[UnderBracket]Subscript\[UnderBracket]6",
"x\[UnderBracket]Subscript\[UnderBracket]7",
"x\[UnderBracket]Subscript\[UnderBracket]8",
"x\[UnderBracket]Subscript\[UnderBracket]9"}
*)
InputForm[Subscript[x, 1]]
doesn't give expected result. see pasteboard.co/a4QgrQ9ja.png
$\endgroup$
Commented
Dec 15, 2016 at 11:32
Subscript
is automatically transformed to its box-form. You need to input the subscript with Ctrl+_
. Otherwise, it doesn't work. But it must have worked at some point, because I wouldn't have put it in a post without testing. This is really odd.
$\endgroup$
Commented
Dec 15, 2016 at 11:50
Subscript
? I don't seem to run into unexpected behavior with it. Can you please give an example where assigning to Subscript
gives wrong results? Maybe it is a performance disaster?
$\endgroup$
With
and Block
. So basically, you cannot use those variables in some local context.
$\endgroup$
Commented
Dec 22, 2016 at 15:37
Subscript[\[Theta], 1] = 20
works. $\endgroup$Subscript[\[Theta], 1]
. Beyond that I am unsure what you want to do with the symbol. $\endgroup$Notation
package? $\endgroup$