intat or Intat
integrals evaluated at a point
Intat(expr1, x=expr2) # inert form
integrand (any algebraic expression)
algebraic expression (the point at which the integral should be evaluated)
The intat command expresses an integral evaluated at a point; it is analogous to using the D command to express a derivative evaluated at a point. Intat is the inert form of intat so that integrals expressed using Intat can be evaluated using value.
Indefinite integrals can always be expressed using intat (as derivatives can always be expressed using D) as follows:
int(f(y),y) = intat(f(a),a=y);
The integral over y on the left hand side is expressed on the right hand side as an integral over a parameter (a), evaluated at a = y. It is assumed that the evaluation "at a = y" will be done after evaluating the integral (as with derivatives evaluated at a point). Intat and intat are now used by pdsolve and dsolve, when necessary, to express the solution of PDEs and ODEs (see ?pdsolve, ?dsolve).
Concerning the display on the screen, intat appears as an integral with only an upper limit (as is usual in textbooks).
The intat command is relevant mainly to express indefinite integrals in which you would like, at some step of the calculations, to introduce a change of variables resulting in an integration variable not of type name. For example, consider
evaluated at y = y(x): subs will lead to a wrong result, because y(x) is not of type name; dchange will introduce y(x) inside the integral (not wrong but undesirable, for instance, when solving differential equations). The same problem arises when the evaluation point is not just a function but an arbitrary algebraic expression. The intat command addresses this problem as follows.
intat(f(y), y=expr): # -> is processed by:
1) trying to evaluate the indefinite integral (using int);
2) if int fails in evaluating the indefinite integral, intat returns unevaluated; otherwise, a change of variables (y -> expr) in the result of step 1) is done using dchange, resulting in the desired "integral evaluated at expr".
The differentiation, expansion, and change-of-variables rules for intat are defined too. This means that the system, as a whole, will succeed in differentiating, expanding, or changing variables (using dchange) in integrals expressed using intat or Intat.
The useintat command takes as an argument an algebraic expression and replaces all indefinite integrals built using int, Int, or Intat by their equivalents using intat.
The useint command takes as an argument an algebraic expression and replaces all indefinite integrals built using Int, intat, or Intat by their equivalents using int.
The commands useIntat and useInt work in the same manner as useintat and useint, but introduce integrals built using the inert commands Intat and Int.
Consider a generic indefinite integral and its "intat" representation:
II := int(f(r),r):
eq := useintat(II) = II;
Introduce a transformation:
tr := r = sqrt(y(x)^2+x^2);
Changing variables using dchange (for these cases subs is inadequate),
ans := dchange(tr, eq, known=f, [x]);
Notice that y(x) is "outside" the integrand in the left hand side, where the integral is expressed using intat, and "inside" in the right hand side, where the integral is expressed using int. To check the equivalence of the left hand side with the right hand side, you can replace the arbitrary function "f" above by something concrete; for example:
Intat can be used to represent unperformed integrals evaluated at a point
II := Intat(exp(x)+1,x=F(a+b) - F(a-b));
The evaluation of these integrals can be performed using value
The system knows how to differentiate and expand intat or Intat
II := intat(diff(F(a),a)+G(a),a=H(x));
Download Help Document
What kind of issue would you like to report? (Optional)