qubiter.SEO_simulator_tf module

class qubiter.SEO_simulator_tf.SEO_simulator_tf(file_prefix, num_qbits, init_st_vec=None, **kwargs)[source]

Bases: qubiter.SEO_simulator.SEO_simulator

TF= TensorFlow

This class is a child of SEO_simulator. The class replaces numpy methods by TensorFlow (2.0, Eager) methods when those methods perform the state vector evolution. This allows those tf methods to be taped, and the tape to be run in reverse to calculate gradients.

At the beginning (in the constructor), the class converts the arrays in self.cur_st_vec_dict from numpy to tf.

Certain “interface” methods of the parent class were written assuming that the arrays of self.cur_st_vec_dict are numpy. Such methods call convert_tensors_to_numpy() at their beginning to convert the tf arrays to numpy. They also call convert_tensors_to_tf() at their end to convert the numpy tensors back to tf, the way they were upon starting the method.

__init__(file_prefix, num_qbits, init_st_vec=None, **kwargs)[source]

Constructor

Parameters:
  • file_prefix (str) –
  • num_qbits (int) –
  • init_st_vec (StateVec) –
  • kwargs (dict) – keyword args of SEO_simulator
convert_tensors_to_numpy()[source]

This method converts the arrays in cur_st_vec_dict from tensorflow to numpy.

Returns:
Return type:None
convert_tensors_to_tf()[source]

This method converts the arrays in cur_st_vec_dict from numpy to tensorflow.

Returns:
Return type:None
do_more_init_before_reading()[source]

Overrides method in parent SEO_simulator.

Returns:
Return type:None