.. _interface-algebraic_mappings:

""""""""""""""""""
algebraic_mappings
""""""""""""""""""


Use AMPL to define algebraic input-output mappings


.. toctree::
   :hidden:
   :maxdepth: 1



**Specification**

- *Alias:* None

- *Arguments:* STRING

- *Default:* no algebraic mappings


**Description**


Dakota can evaluate algebraic input-output mappings using AMPL
:cite:p:`Fou03`.  The mappings are expressed in 3 files: ``stub``.nl,
``stub``.col, and ``col,stub``.row, where ``row,stub`` is a particular root name
describing a particular problem. The file names are communicated to
Dakota using the ``algebraic_mappings`` keyword. It may either specify
the full ``stub``.nl filename, or alternatively, just the ``nlstub``
basename.

Dakota then extracts the input and output identifier strings from
``stub``.col and ``colstub``.row and employs the AMPL solver library :cite:p:`Gay97`
to process the directed acyclic graphc (DAG) specification in
``stub``.nl. The variable and objective function names declared within
AMPL should be a subset of the variable and response descriptors
specified in the :dakkw:`variables` and :dakkw:`responses` blocks. Ordering is
not important, as Dakota will reorder data as needed.



**Examples**


An interface employing both algebraic and simulation-based mappings.
The results from the individual algebraic and simulation mappings are
overlaid based on the variable and response descriptors used by the
individual mappings.


.. code-block::

    interface,
     algebraic_mappings = 'ampl/fma.nl'
     fork
       analysis_driver = 'text_book'
       parameters_file = 'tb.in'
       results_file    = 'tb.out'




