ntqr.r2.raxioms
===============

.. py:module:: ntqr.r2.raxioms

.. autoapi-nested-parse::

   R=2 evaluation axioms in integer space.

   This is the space of integers possible since we are dealing with finite
   tests. Statistics of correctness are given as integers. In the case of
   R=2 the evaluation of a single classifier/responder is (Q_a, R_a_a, R_b_b).



Attributes
----------

.. autoapisummary::

   ntqr.r2.raxioms.raja
   ntqr.r2.raxioms.rbjb
   ntqr.r2.raxioms.raka
   ntqr.r2.raxioms.rbkb
   ntqr.r2.raxioms.raiaja
   ntqr.r2.raxioms.raiaka
   ntqr.r2.raxioms.rajaka
   ntqr.r2.raxioms.rbibjb
   ntqr.r2.raxioms.rbibkb
   ntqr.r2.raxioms.rbjbkb
   ntqr.r2.raxioms.three_responders_axiom


Classes
-------

.. autoapisummary::

   ntqr.r2.raxioms.SingleClassifierAxioms


Module Contents
---------------

.. py:class:: SingleClassifierAxioms(labels, classifier)

   The axioms of a single R=2 classifier

   ...

   .. attribute:: question_numbers

      The variables for the count of correct questions for each true
      label.

      :type: List[simpy.Symbol..]

   .. attribute:: responses

      The variables for the observed interger count of the two classes.
      Generically of the form,

      R_{l_i} : number of 'l' responses by classifier 'i'

      :type: List[simpy.Symbol..]

   .. attribute:: correctness_variables

      The variables associated with correct and wrong responses given
      the true label. Generically of the form,

      R_{l_i, l_true}: number of 'l' responses by classifier 'i' given
      true label 'l_true'.

      :type: List[simpy.Symbol..]

   .. method:: evaluate_axioms(eval_dict): List[expression, expression, expression]

      Evaluates the axioms given the variable substitutions in 'eval_dict'.

   .. method:: satisfies_axioms(eval_dict): Boolean

      Checks if the variable substitutions in 'eval_dict' make all three
      axioms identically zero.



   .. py:attribute:: labels


   .. py:attribute:: classifier


   .. py:attribute:: questions_number


   .. py:attribute:: responses


   .. py:attribute:: responses_by_label


   .. py:attribute:: algebraic_expressions


   .. py:method:: evaluate_axioms(eval_dict)

      Evaluates axioms given 'eval_dict'.

      :param eval_dict:
      :type eval_dict: Map[sympySymbol -> value]

      :rtype: Dict mapping label to axiom expression.



   .. py:method:: satisfies_axioms(eval_dict)

      Tests axioms are satisfied for 'eval_dict' values.

      :param eval_dict:
      :type eval_dict: Map[sympySymbol -> value]

      :returns: * **Boolean** (*returns True if the axioms are identically zero, False*)
                * *otherwise.*



.. py:data:: raja

.. py:data:: rbjb

.. py:data:: raka

.. py:data:: rbkb

.. py:data:: raiaja

.. py:data:: raiaka

.. py:data:: rajaka

.. py:data:: rbibjb

.. py:data:: rbibkb

.. py:data:: rbjbkb

.. py:data:: three_responders_axiom
   :value: []


