value
evaluate inert functions
Calling Sequence
Parameters
Description
Examples
value(f)
f
-
any mathematical expression
When Maple has two functions of the same name where one begins with a capital letter and one with lower case, the capitalized function is frequently an inert representation of the lower case function. More generally, any function whose name starts with the % character, as in %F, is an inert representation for the function F. This feature provides inert representations for any Maple or user-defined function.
During computations, inert functions remain unevaluated (the operations they represent remain unperformed). The value command maps these inert functions, such as Int or %exp, into the corresponding active functions int and exp. Note that, irrespective of the value command, while computing with inert functions, the differentiation, expansion, and printing properties of the active functions they represent (when defined using extension mechanisms, such as routines like `diff/F`) are automatically taken into account by the system.
The value function can also be extended to evaluate any function call, say F, even if there is no active version of it, by defining a procedure named `value/F` which takes the same arguments as F (for example, F(x)) and returns the desired evaluation.
The active form of int returns the evaluated integral.
int⁡x,x
x22
The inert form (Int) returns the unevaluated integral.
F≔Int⁡x,x
F≔∫xⅆx
Use value to evaluate the integral when desired.
value⁡F
Some frequently used inert representations:
G≔Limit⁡sin⁡xx,x=0
G≔limx→0⁡sin⁡xx
value⁡G
1
value⁡Sum⁡i,i=1..n+5
n+122−n2+92
In this example an evaluation rule is defined for B even when there exists no corresponding active function
`value/B`≔a,b↦binomial⁡a,b
value/B≔a,b↦ab
value⁡B⁡10,5
252
The value command understands any function whose name starts with the % character as being an inert function
F≔x↦x2+1
%F⁡a
F⁡a
value⁡
a2+1
The same inert representation mechanism works with any Maple function or procedure
%GAMMA⁡12
Γ⁡12
π
intg≔%intat⁡exp⁡x+1,x=H⁡x
intg≔∫` `H⁡xⅇx+1ⅆx
value⁡intg
H⁡x+ⅇH⁡x
Any differentiation, expansion or printing rule defined using the extension mechanism (e.g routines `diff/F`) are automatically taken into account by the system
diff⁡%GAMMA⁡x,x
Ψ⁡x⁢Γ⁡x
%diff⁡Γ⁡x,x
ⅆⅆxΓ⁡x
%eval⁡%diff⁡%exp⁡x,x,x=0
ⅆⅆxⅇxx=0|ⅆⅆxⅇxx=0
With package commands, the mapping from inert to active is performed taking into account the last package loaded at the time of performing the operation. For instance, a Transpose command exists in different packages with different meanings; in this example LinearAlgebra is the last package loaded, so that LinearAlgebra:-Transpose is the active form of the inert %Transpose
with⁡LinearAlgebra,Transpose:
A≔Matrix⁡a,b,c,d
A≔
%Transpose⁡A
+
The inert representation also works with indexed functions, for instance as those used in the Physics package
with⁡Physics,KroneckerDelta
KroneckerDelta
%KroneckerDeltaa,a
δa,a
See Also
Active and Inert Functions
DESol
Diff
eval
Eval
exp
GAMMA
hypergeom
Hypergeom
int
Int
Intat
limit or Limit
LinearAlgebra
normal
Normal
Physics
product or Product
RESol
sum
Sum
Download Help Document