qiskit/providers/basicaer/qasm_simulator.py
def _set_options(self, qobj_config=None, backend_options=None):
        """Set the backend options for all experiments in a qobj"""
        # Reset default options
        self._initial_statevector = self.DEFAULT_OPTIONS["initial_statevector"]
        self._chop_threshold = self.DEFAULT_OPTIONS["chop_threshold"]
        if backend_options is None:
            backend_options = {}

        # Check for custom initial statevector in backend_options first,
        # then config second
        if 'initial_statevector' in backend_options:
            self._initial_statevector = np.array(backend_options['initial_statevector'],
                                                 dtype=complex)
        elif hasattr(qobj_config, 'initial_statevector'):
            self._initial_statevector = np.array(qobj_config.initial_statevector,
                                                 dtype=complex)
        if self._initial_statevector is not None:
            # Check the initial statevector is normalized
            norm = np.linalg.norm(self._initial_statevector)
            if round(norm, 12) != 1:
                raise BasicAerError('initial statevector is not normalized: ' +
                                    'norm {} != 1'.format(norm))
        # Check for custom chop threshold
        # Replace with custom options
        if 'chop_threshold' in backend_options:
            self._chop_threshold = backend_options['chop_threshold']
        elif hasattr(qobj_config, 'chop_threshold'):
            self._chop_threshold = qobj_config.chop_threshold
def _set_options(self, qobj_config=None, backend_options=None):
        """Set the backend options for all experiments in a qobj"""
        # Reset default options
        self._initial_statevector = self.DEFAULT_OPTIONS["initial_statevector"]
        self._chop_threshold = self.DEFAULT_OPTIONS["chop_threshold"]
        if backend_options is None:
            backend_options = {}

        # Check for custom initial statevector in backend_options first,
        # then config second
        if 'initial_statevector' in backend_options:
            self._initial_statevector = np.array(backend_options['initial_statevector'],
                                                 dtype=complex)
        elif hasattr(qobj_config, 'initial_statevector'):
            self._initial_statevector = np.array(qobj_config.initial_statevector,
                                                 dtype=complex)
        if self._initial_statevector is not None:
            # Check the initial statevector is normalized
            norm = np.linalg.norm(self._initial_statevector)
            if round(norm, 12) != 1:
                raise BasicAerError('initial statevector is not normalized: ' +
                                    'norm {} != 1'.format(norm))
        # Check for custom chop threshold
        # Replace with custom options
        if 'chop_threshold' in backend_options:
            self._chop_threshold = backend_options['chop_threshold']
        elif hasattr(qobj_config, 'chop_threshold'):
            self._chop_threshold = qobj_config.chop_threshold
def _set_options ( self , qobj_config = None , backend_options = None ) : # Reset default options self . _initial_statevector = self . DEFAULT_OPTIONS [ "initial_statevector" ] self . _chop_threshold = self . DEFAULT_OPTIONS [ "chop_threshold" ] if backend_options is None : backend_options = { } # Check for custom initial statevector in backend_options first, # then config second if 'initial_statevector' in backend_options : self . _initial_statevector = np . array ( backend_options [ 'initial_statevector' ] , dtype = complex ) elif hasattr ( qobj_config , 'initial_statevector' ) : self . _initial_statevector = np . array ( qobj_config . initial_statevector , dtype = complex ) if self . _initial_statevector is not None : # Check the initial statevector is normalized norm = np . linalg . norm ( self . _initial_statevector ) if round ( norm , 12 ) != 1 : raise BasicAerError ( 'initial statevector is not normalized: ' + 'norm {} != 1' . format ( norm ) ) # Check for custom chop threshold # Replace with custom options if 'chop_threshold' in backend_options : self . _chop_threshold = backend_options [ 'chop_threshold' ] elif hasattr ( qobj_config , 'chop_threshold' ) : self . _chop_threshold = qobj_config . chop_threshold
Set the backend options for all experiments in a qobj
Set the backend options for all experiments in a qobj