Multi-dimensional functions
Class Realfunctionnd
Generic real multi-dimensional function class
(real function of a vector of real arguments).
Polymorphic input and output is provided for pointers to objects of this
class.
Polymorphic data format:
function_type
data_for_that_function
The data format depends on the type of function chosen.
Names (for identifying the function type) and formats are defined below.
Class: Realfunctionnd_1dproduct
Product of a set of 1D functions of each of the arguments.
Name: 1dproduct
Data format:
number_of_functions
For each:
fi
Each fi is a Realfunction1d.
Class: Realfunctionnd_1d
A single 1D function of one of the components.
Name: 1d
Data format:
f (Realfunction)
ix (component of vector to apply function to, base 0)
Class: Realfunctionnd_2d
A single 2D function of two of the components.
Name: 2d
Data format:
f (Realfunction2d)
ix iy (components of vector to apply function to, base 0)
Class: Realfunctionnd_3d
A single 3D function of three of the components.
Name: 3d
Data format:
f (Realfunction3d)
ix iy iz (components of vector to apply function to, base 0)
Class: Realfunctionnd_sum
Sum of several ND functions.
Name: sum.
Data:
number_of_functions
For each:
fi
The fi are Realfunctionnds.
The dimension space of each fi should be the same.
Class: Realfunctionnd_product
Product of several ND functions.
Name: product.
Data:
number_of_functions
For each:
fi
The fi are Realfunctionnds.
The dimension space of each fi should be the same.
Class: Realfunctionnd_offset
General ND function offset by a constant amount.
Name: offset.
Data:
number_of_components
For each:
r0i
f
f is a Realfunctionnd.
The function calculated is f(r-r0).
The number of components in r and the dimension space
of f must be the same.
Class: Realfunctionnd_map_sep
General ND function with general mappings applied to each argument and to result.
Name: separable_map.
Data:
number_of_mapping_functions
For each:
rmapi (mapping function for coordinate index i)
f (Realfunctionnd)
fmap (mapping function for result)
The mapping functions are all Realfunction1ds.
The function calculated is fmap{f[r'(r)]}
where [r']i=rmapi([r]i).
This is a fairly general form, but is particularly useful
for changing units or scalings.
The number of coordinate mapping functions rmap
and the dimension space of f must be the same.
Class: Realfunctionnd_map
General ND function with general mappings applied to arguments and result.
Name: map.
Data:
number_of_mapping_functions
For each:
rmapi (mapping function for coordinate index i)
f (Realfunctionnd)
fmap (mapping function for result)
The mapping functions are all Realfunction1ds.
The function calculated is fmap{f[r'(r)]}
where [r']i=rmapi(r).
The number of coordinate mapping functions rmap
and the dimension space of f must be the same.