m (Mathematica tips and tricks)
m ({{LaTeX}})
Line 38: Line 38:
  
 
You can also use the more informative ''Monitor[]''.
 
You can also use the more informative ''Monitor[]''.
 +
 +
== Plot labels ==
 +
 +
This can be used to set aligned axis labels, without framing the plot (just add <tt>popts</tt> in the Plotting[] command):
 +
 +
<pre>
 +
popts = {
 +
  FrameLabel -> {
 +
    {"x axis title", None},
 +
    {"y axis title", None}},
 +
  Frame -> {{True, False}, {True, False}}}
 +
</pre>
  
 
== {{LaTeX}} ==
 
== {{LaTeX}} ==

Revision as of 08:16, 11 July 2023

Contents

Mathematica tips and tricks

This is a list of Mathematica tips and tricks.

Position

Often you want something like this:

Position[mylist,#!=0&]

which is not syntactically correct in Mathematica (this syntax works in Select[] for instance, but not in Cases[], to me it's a bit inconsistent).

The following almost works:

Position[mylist,Expect[0]]

but it finds the head of your list and apparently other things as well, so you get results like {0}.

It's better to process mylist directly:

Position[#!=0&/@mylist,True]

Progress bar

Use before any (long) loop over $i$:

ProgressIndicator[Dynamic[i], {imin, imax}]

I don't know why it's called "ProgressIndicator" and not "ProgressBar".

You can also use the more informative Monitor[].

Plot labels

This can be used to set aligned axis labels, without framing the plot (just add popts in the Plotting[] command):

popts = {
  FrameLabel -> {
    {"x axis title", None},
    {"y axis title", None}},
  Frame -> {{True, False}, {True, False}}}

$\mathrm{\LaTeX}$

To export from $\mathrm{\LaTeX}$ [1] (typesetting through the notebook can be unreliable as it can revert a full expression to pseudocode):

ToExpression["string", TeXForm, HoldForm]

e.g.,

ToExpression[" a^\\dagger aa^\\dagger a a^{\\dagger k}a^l", TeXForm, \
HoldForm]

returns

Screenshot 20230613 181900.png

Note that the \ should be escaped (so doubled). That will work without doing it but generates a warning.