def _assert_self_adjoint(self): if all(operator.is_square for operator in self.operators): asserts = [operator.assert_self_adjoint() for operator in self.operators] return control_flow_ops.group(asserts) else: raise errors.InvalidArgumentError( node_def=None, op=None, message="All Kronecker factors must be " "square for the product to be self adjoint.")
def _assert_self_adjoint(self): if all(operator.is_square for operator in self.operators): asserts = [operator.assert_self_adjoint() for operator in self.operators] return control_flow_ops.group(asserts) else: raise errors.InvalidArgumentError( node_def=None, op=None, message="All Kronecker factors must be square for the product to be " "invertible. Expected hint `is_square` to be True for every operator " "in argument `operators`.")
def _unique(x, out_idx=np.int32, name=None): # pylint: disable=unused-argument """Numpy implementation of `tf.unique`.""" x = np.array(x) if len(x.shape) != 1: raise errors.InvalidArgumentError('unique expects a 1D vector.') y, idx = np.unique(x, return_index=True, return_inverse=False, return_counts=False, axis=None) idx = idx.astype(utils.numpy_dtype(out_idx)) return _UniqueOutput(y=y, idx=idx)
def _assert_positive_definite(self): raise errors.InvalidArgumentError( node_def=None, op=None, message="Householder operators are always " "non-positive definite.")
def _assert_non_singular(self): raise errors.InvalidArgumentError(node_def=None, op=None, message="Zero operators are always " "non-invertible.")