-2

What does <> (less than followed by greater than) mean in Mathematica? For example:

InterpolatingFunction[{-6,6},{0,6}],<>[x,y]

I am very much confused in such kind of expressions. As I have received such kind of output in NDSolve.

zenith
  • 117
  • 6
  • http://stackoverflow.com/questions/723195/should-i-use-or-for-not-equal-in-tsql – Giacomo1968 May 30 '14 at 00:14
  • @JakeGould That question is for a different environment (SQL) and any assumptions made between the two are unfounded without further justification. – user2864740 May 30 '14 at 00:28
  • (Make sure that's the correct/full output, the brackets look unbalanced.) – user2864740 May 30 '14 at 00:36
  • [InterpolatingFunction](http://reference.wolfram.com/mathematica/ref/InterpolatingFunction.html): "In standard output format, only the domain element of an InterpolatingFunction object is printed explicitly. The remaining elements are indicated by <>" (I have no idea what it means though) – user2864740 May 30 '14 at 00:41
  • 1
    Mathematica tries to abbreviate some of the things it puts up. It does this for InterpolatingFunction, it does this for Graph ( not the plot of a function, but a set of points and connecting edges ) and it does this for some other things. It does this trying to hide what it thinks is a lot of distracting detail that isn't important to you. If you evaluate FullForm[Interpolation[{{0, 0}, {1, 1}, {2, 1}, {5, 2}}]] it will show you the likely uninteresting detail that it is hiding when it thinks all you really want to do is USE the interpolating function, not see inner data. – Bill May 30 '14 at 00:43
  • thanks all for the help and correction. It helped to removed ambiguities about this symbol. – zenith May 30 '14 at 09:52

1 Answers1

1

Mathematica expressions come with a head and then several arguments. For example, the output of some operation might give you the output List[1,2,3,4,5]. However, Mathematica knows this is a list and the output is formatted as {1,2,3,4,5} instead.

A function like Interpolation will give you a special type of object (an interpolating function) that has many components. Unlike list, most of its components are irrelevant, so you can ignore them. Mathematica hides them using <> so that you don't have to look at them.

f = Interpolation[RandomInteger[10, 10]]
output: InterpolatingFunction[{{1, 10}}, "<>"]

All it shows you is the Head, which is InterpolatingFunction, and then the first argument which is the domain(s) of the function. There is only one variable, so there is only one domain {1,10} so the list of domains is {{1,10}}.

All the other arguments are there, so you can find them. You can evaluate f by:

f[2.3]
output: 0.7385

(Your output will vary!) But you can also look at the pieces of f:

f[[2]]
output: {4, 3, 0, {10}, {4}, 0, 0, 0, 0, Automatic}

The second piece, normally hidden, is a list of different properties of the interpolating function that we normally don't care about.

You can change the head on many things using @@ which changes the header of one thing into another. For example:

mylist = {2,3,4,5};
Plus@@mylist
output: 14

You can do this with our function:

List@@f
output: {{{1, 10}}, {4, 3, 0, {10}, {4}, 0, 0, 0, 0, Automatic},
         {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}, {{9}, {2}, {0}, {6},
          {10}, {6}, {7}, {5}, {0}, {6}}, {Automatic}}

All of that is the "guts" of the interpolating function. That's what's missing in the <>, because this might describe the interpolating function but we don't really need to see it.

If you are looking for an explicit polynomial interpolation, you should be doing:

InterpolatingPolynomial[RandomInteger[10, 10], x]

which gives you a function of x (in a very non-simplified form) that is what you want.

Kellen Myers
  • 362
  • 1
  • 6