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.")
Exemple #2
0
 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`.")
Exemple #3
0
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.")
Exemple #5
0
 def _assert_non_singular(self):
     raise errors.InvalidArgumentError(node_def=None,
                                       op=None,
                                       message="Zero operators are always "
                                       "non-invertible.")