There are many functions in Macaulay2 that do various things. You can get a brief indication of what a function does by typing a
? before its name. In this case, one would see that the function
sin takes a single argument
x. We apply a function to its argument by typing them in adjacent positions. It is possible but not necessary to place parentheses around the argument.
i1 : sin 1.2
o1 = .9320390859672263
o1 : RR (of precision 53)
|
i2 : sin(1.2)
o2 = .9320390859672263
o2 : RR (of precision 53)
|
i3 : sin(1.0+0.2)
o3 = .9320390859672263
o3 : RR (of precision 53)
|
In parsing the operator
^ takes precedence over adjacency, so the function is applied after the power is computed in the following code. This may not be what you expect.
Some functions take more than one argument, and the arguments are separated by a comma, and then parentheses are needed.
i5 : append
o5 = append
o5 : CompiledFunction
|
i6 : append({a,b,c},d)
o6 = {a, b, c, d}
o6 : List
|
Some functions take a variable number of arguments.
i7 : join
o7 = join
o7 : CompiledFunction
|
i8 : join({a,b},{c,d},{e,f},{g,h,i})
o8 = {a, b, c, d, e, f, g, h, i}
o8 : List
|
Functions, like anything else, can be assigned to variables. You may do this to provide handy private abbreviations.
i9 : ap = append;
|
i10 : ap({a,b,c},d)
o10 = {a, b, c, d}
o10 : List
|