: perform various operations on flow equations (differentiation, products, sums, exponentials and logarithms of flow equations, evaluation and conversion to other formats).
computes derivatives of a flow equation provided in the configuration file, which can either be passed as a command-line argument or through stdin.
.Pp
The derivatives are derivatives with respect to an extra virtual parameter, which all of the rccs are assumed to depend on (to override the default behavior, the '-V' flag can be used to pass a list of rccs that depend on the extra parameter, alternatively such a list can be given in the configuration file). The derivative of the flow equation is a new flow equation for the rccs and their derivatives with respect to the virtual parameter.
.Pp
When multiple derivatives are taken, the flow equation becomes a flow equation for the rccs, their derivatives, second derivatives, and so forth...
This operation can be useful, for instance, to compute moments in an interacting system, in which the generating functional can be expressed as an effective potential depending on a parameter with respect to which the result of the integration should be differentiated. The 'differentiate' command writes the flow equation for the differentiated rccs, from which the quantities of interest can be computed.
The variables that depend on the extra virtual parameter (defaults to all) (WARNING: if one of the variables has a negative index, do not put it first in the list, since
.Nm
would interpret the argument as being a flag, for example, write '-V "0,-1"' instead of '-V "-1,0"').
that is, instead of printing the flow equation, print a full configuration file containing the flow equation as well as all the other entries of the configuration file that do not pertain to the computation of the flow equation.
The configuration file contains the flow equation to differentiate, and optionally a list of variables (similar to the '-V' flag). The following entries are supported:
If this entry is the only one in the configuration file, the '#!flow_equation' header may be omitted.
.Pp
.ItSy#!variables
The variables that depend on the extra virtual parameter (optional entry).
.Pp
The variables entry is a ',' separated list of indices, or 'all' in which case, all of the variables on the right side of the flow equation are assumed to depend on the flow equation.
.Pp
If the '-V' flag is provided on the command-line, this entry is ignored.
.El
.Pp
The resulting flow equation is written to stdout.
.Pp
.ShEVAL
When run with the 'eval' command,
.Nm
evaluates a flow equation, provided in a configuration file, numerically, using the values provided on the command-line or in the configuration file provided on the command-line or through stdin.
.Pp
.SyCommand-linearguments:
.Bl-tag-widthDs
.ItFlRArvalues
The values of the rccs with which to evaluate the flow equation.
expands the preprocessor variables in the input polynomial, provided in the configuration file, which can either be passed as a command-line argument or through stdin, and prints the result.
.Pp
.SyCommand-linearguments:
.Bl-tag-widthDs
.ItFlNArnamespace
If the configuration file is to be used to perform other operations, it may be convenient to specify the input polynomial for the 'expand' command alongside another '#!input_polynomial' entry, used for some other computation. This is made possible by namespaces.
.Pp
If a namespace is provided to
.Nm
on the command line, then it will search for the entries in the configuration file in the form
.D1#!namespace:header
and default to #!header if no such header is present.
.Pp
In this way, the configuration file can, for instance, contain a '#!namspace:input_polynomial' entry for this computation, as well as a '#!input_polynomial' entry, to be used for some other purpose, all the while using the same '#!fields', '#!preprocessor_variables', '#!virtual_fields' and '#!identities' entries.
.El
.Pp
.SyConfigurationfile:
.Pp
The supported entries are
.Bl-tag-widthDs
.ItSy#!input_polynomial
The polynomial whose exponential is to be computed.