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 Realfunctionnd
s.
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 Realfunctionnd
s.
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 Realfunction1d
s.
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 Realfunction1d
s.
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.