Using an n-dimensional array of values as a model (table model).
The table model allows you to use an array of values as a model component; the only parameter is "ampl" which acts as a normalization of the input array. See "ahelp load_table_model" for more information.
For most cases, the load_table_model() function should be used to create an instance of the table model; it will read in data from a file and create a tablemodel component for you. However, if you wish to use an array that you have created or calculated, you can create an component manually, as shown in the example below.
The array of values used, whether read in from a file or set from an array, should match that of the data - e.g. dimensionality and shape.
|1||ampl||amplitude; the y-values are multiplied by the amplitude|
The integration of models in Sherpa is controlled by an integration flag in each model structure. Refer to "ahelp integrate" for information on integrating model components.
Defining a set of templates can be done via load_template_model.
sherpa> tablemodel.t1() sherpa> t1._y = [0.1, 0.2, 0.4 ..., ] sherpa> t1.ampl = 0.45 sherpa> set_source(xsphabs.abs1 * t1) sherpa> show_model()
An alternative to using the load_table_model() command to define the tablemodel y values is to input them directly. The model definition will look like:
Model: 1 (xsphabs.abs1 * tablemodel.t1) Param Type Value Min Max Units ----- ---- ----- --- --- ----- abs1.nh thawed 1 0 100000 10^22 atoms / cm^2 t1.ampl thawed 0.45 -3.40282e+38 3.40282e+38
See the bugs pages on the Sherpa website for an up-to-date listing of known bugs.
- list_model_components, list_models, models, xs