Quantum Fog  0.9.3
Public Member Functions | Public Attributes | List of all members
prefabricated_nodes.PhaseShifter.PhaseShifter Class Reference
Inheritance diagram for prefabricated_nodes.PhaseShifter.PhaseShifter:
Inheritance graph
[legend]
Collaboration diagram for prefabricated_nodes.PhaseShifter.PhaseShifter:
Collaboration graph
[legend]

Public Member Functions

def __init__ (self, id_num, name, pa_nd, theta_degs, occ_nums=False)
 
- Public Member Functions inherited from nodes.BayesNode.BayesNode
def __init__ (self, id_num, name="blank", size=2)
 
def set_potential (self, pot)
 
def resize (self, size)
 
def set_state_name (self, position, name)
 
def st_name_index (self, st_name)
 
def forget_all_evidence (self)
 
def get_active_states (self)
 
def set_active_states (self, states)
 
def set_state_names_to_product (self, list_of_iters, repeat=1, trim=False)
 
- Public Member Functions inherited from nodes.DirectedNode.DirectedNode
def __init__ (self, id_num, name="blank")
 
def add_parent (self, node)
 
def add_parents (self, node_list)
 
def remove_parent (self, node)
 
def has_parent (self, node)
 
def add_child (self, node)
 
def add_children (self, node_list)
 
def remove_child (self, node)
 
def has_child (self, node)
 
def undirect (self)
 
def get_markov_blanket (self)
 
- Public Member Functions inherited from nodes.Node.Node
def __init__ (self, id_num, name="blank")
 
def __lt__ (self, other)
 
def add_neighbor (self, node)
 
def remove_neighbor (self, node)
 
def has_neighbor (self, node)
 

Public Attributes

 theta_degs
 
 occ_nums
 
 state_names
 
 potential
 
- Public Attributes inherited from nodes.BayesNode.BayesNode
 size
 
 state_names
 
 clique
 
 potential
 
- Public Attributes inherited from nodes.DirectedNode.DirectedNode
 parents
 
 children
 
 neighbors
 
- Public Attributes inherited from nodes.Node.Node
 id_num
 
 topo_index
 
 name
 
 neighbors
 
 visited
 

Additional Inherited Members

- Properties inherited from nodes.BayesNode.BayesNode
 active_states = property(get_active_states, set_active_states)
 

Detailed Description

The Constructor of this class builds a BayesNode that has a transition
matrix appropriate for a phase shifter.

The following is expected:

* the focus node has precisely one parent.

* if 'occ_nums' is True (occ_num = occupation number), the states of the
parent node are expected to be non-negative integers.

Quantum Fog defines the set of states of the phase-shifter to be exactly
the same as the set of states of its parent node.

Suppose occ_nums is True. When the state of the parent node is N,
Quantum Fog assigns amplitude exp(1j*N*theta_degs*pi/180) to state N of
the phase-shifter, and it assigns zero amplitude to all other states of
the phase-shifter. Note that N must be an integer.

Suppose occ_nums is False. When the state of the parent node is STR,
Quantum Fog assigns amplitude exp(1j*theta_degs*pi/180) to state STR of
the phase-shifter, and it assigns zero amplitude to all other states of
the phase-shifter. Note that STR need not be an integer.

More information about phase shifter nodes can be found in the documents
entitled "Quantum Fog Manual", and "Quantum Fog Library Of Essays" that
are included with the legacy QFog.

Attributes
----------
occ_nums : bool
theta_degs : float

potential : Potential
active_states : list[int]
clique : Clique
size : int
state_names : list[str]
children : set[BayesNode]
neighbors : set[BayesNode]
parents : set[BayesNode]
id_num : int
topo_index : int
name : str
visited : bool

Constructor & Destructor Documentation

def prefabricated_nodes.PhaseShifter.PhaseShifter.__init__ (   self,
  id_num,
  name,
  pa_nd,
  theta_degs,
  occ_nums = False 
)
Constructor

Parameters
----------
id_num : int
    id number of self (focus node)
name : str
    name of self (focus node)
pa_nd : BayesNode
    parent node
theta_degs : float
occ_nums : bool
    True (False) if the states of the parent node are (are not)
    occupation numbers.

Returns
-------

The documentation for this class was generated from the following file: