# How do I transform an array into the Traditional Form with mathematica?

I am trying to set an expression in Mathematica that uses an array. However it is problematic to typeset this expression and still be able to use it.

Here is my example:

data := {{8.2, 123.2}, {8.2, 123.2}, {8.22, 121.8}}
Fkt[c_, d_, e_] := Product[c[[dim]]* d[[dim]]* e[[dim]]], {dim, 1, 2}]


Now I want to show the expression only in itself, e.g.:

$Fkt_{c,d, e} := \Pi_{dim=1}^2 c_{dim}*d_{dim}* e_{dim}$

However TraditionalForm does not do this. Can anyone give me a pointer in the right direction?

thanks

• "TraditionalForm[] does not do this." - it can't. The expression's short; why not type it out yourself? (esc)prodt(esc) should generate a product expression whose blanks you can fill in... Jul 27, 2011 at 9:39
• i have shortened the expression a lot already. and i want to use it to eye-proof the expression to make sure there are no mistakes there. You are saying that there is no way to do this in mathematica? Jul 27, 2011 at 9:41
• At least in the form you have produced, the only good way I'm aware of is TraditionalForm[HoldForm[Subscript[Fkt, c, d, e] := Product[Subscript[c, dim] Subscript[d, dim] Subscript[e, dim], {dim, 1, 2}]]] Jul 27, 2011 at 9:45

You can choose an option in the format->cell and cell->convert to as how to display your cells. Besides Shift+Ctrl+T gives the traditional form of a choosen fragment.

There is also Defer function, which prints the unevaluated form of an expression:

Defer[Product[c[[dim]]*d[[dim]]*e[[dim]], {dim, 1, 2}]]


gives

$\prod _{\dim =1}^2 c[[\dim ]] d[[\dim ]] e[[\dim ]]\$.

• Ah, Defer[]. Nice, I'm old-school and have no clue about these newfangled Mathematica functions... :) Jul 27, 2011 at 10:12
• thats pretty, cool. It does not solve the problems with the whole array to subscript thing, but its a start. Jul 27, 2011 at 10:25
• Methematica does't regard array's elements as subscripts. If you want subscripts you have to put them directly as in the example of J.M. above. They can be inserted with Ctrl+_, say Fkt+(Ctrl+_)+c,d,e+(Ctrl+Space) for $Fkt_{c,d,e}$. Jul 27, 2011 at 11:17
• In general, TraditionalForm[] stuff is unsuitable for computational purposes, @tarrasch. Why not be satisfied with StandardForm[]? Jul 27, 2011 at 12:37
• its just that i want to be save. i have a mc-simulation that verifies my code. Yet i will communicate the equation only, not the code. So i want to make sure the equation corresponds to the code. is there a nonstandard package or sth that does this? Jul 28, 2011 at 8:32

Perhaps you would like:

Definition[Fkt] // TraditionalForm


Also, if you would like to change the default TraditionalForm display, for example, displaying Part expressions as subscripts, you may use:

Unprotect[Part]
Format[Unevaluated@Part[a_, b_], TraditionalForm] := Subscript[a, b]


Now:

Definition[Fkt] // TraditionalForm