我正在使用Notation包在Mathematica中试验语法mod.
我对特定字段的数学符号不感兴趣,而是对通用语法修改和扩展感兴趣,特别是减少Mathematica的VeryLongFunctionNames的冗长,清理笨拙的构造或以令人愉快的方式扩展语言的符号.
一个示例修改是定义Fold[f, x]
评估,因为Fold[f, First@x, Rest@x]
这很好,并且非常方便.
另一个是定义*{1,2}
评估Sequence @@ {1,2}
为受Python启发的; 这在Mathematica中可能有效,也可能无效.
请提供以下信息或链接:
符号和语法修改的限制
实施的提示和技巧
现有的包装,实例或实验
为什么这是一个好主意或坏主意
我想在mathematica中定义一个具有多个参数的对象/符号,例如:( S=(1-t)({b_i}^x,{b_i}^y)+t({b_{i+1}}^x,{b_{i+1}}^y)
某种LaTeX表示法).在这个例子中,我试图描述的线段连接两个点b_i
和b_{i+1}
.
我该如何定义这样的对象mathematica
?
我发现了以下两个问题:
但我不确定我是否正确使用它们.我所做的是以下内容.首先我调用:
Needs["Notation`"];
Symbolize[
ParsedBoxWrapper[
SubscriptBox["\[SelectionPlaceholder]", "\[Placeholder]"]]]
Symbolize[
ParsedBoxWrapper[
SuperscriptBox["\[SelectionPlaceholder]", "\[Placeholder]"]]]
Run Code Online (Sandbox Code Playgroud)
然后,我实际上定义了对象:
(1 - t) {Subscript[b, i]^x, Subscript[b, i]^y} +
t {Subscript[b, i + 1]^x, Subscript[b, i + 1]^y}
Run Code Online (Sandbox Code Playgroud)
这是做我想要的正确方法吗?