:orphan:

lambda
******

**Note:** Only applicable in the Rescorla-Wagner mechanism.

Specifies the reinforcement values for stimulus elements, used when updating vss-values in the Rescorla-Wagner mechanism,
used in the updating of ``vss``-values. See :ref:`the-mechanisms`.

The parameter ``lambda`` can be set to certain values for certain particular stimulus elements.
It can also be specified as a single value, in which case the same reinforcement value is used for all
stimulus elements. Wildcards (*) may be used to set several values at once.


Syntax
------

::

  lambda = e1: v1, e2: v2, ..., en: vn, default: d
  lambda = v1
  lambda = *:v1  # Same as above

where ``v1,v2,...,vn`` are :ref:`scalar expressions<scalar-expressions>`.

Description
-----------

``lambda = e1: v1, e2: v2, ..., en->bn: vn, default: d`` sets the reinforement value for

- e1 to v1,
- e2 to v2, ...,
- en to vn,

and the reinforcement value for all other stimulus elements to d.

- The specification is independent of the list order:

  ``lambda = e1:v1, e2:v2, default:d``

  is the same as

  ``lambda = e2:v2, default:d, e1:v1``.

- ``default`` need not be specified if all stimulus elements are present in the list. For example,

  ::

    stimulus_elements = e1, e2
    lambda = e1:v1, e2:v2

----

``lambda = v1`` sets the reinforcement value for all stimulus elements to v1.

- ``lambda = v1`` is the same as ``lambda = default: v1``.

Dependencies
------------

- The property ``stimulus_elements`` must be specified before ``lambda``.
- Each stimulus element used in the specification of ``lambda`` must be present in the parameter ``stimulus_elements``.
- Applicable only in the Rescorla-Wagner mechanism.

Examples
--------

::

  @variables x = 1
  lambda = element1: x, element2: x+1, default:x+2

sets the reinforcement value for element1 to 1 and for element2 to 2, and
for the remaining stimulus elements to 3.

::

  lambda = element1: 0.5, default:0

sets the reinforcement value for element1 to 0.5, and for the remaining stimulus elements to 3.

::

  lambda = 0.1

sets the reinforcement value for all stimulus elements to 0.1.
