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.")
示例#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`.")
示例#3
0
 def _assert_positive_definite(self):
     return control_flow_ops.group([
         operator.assert_positive_definite() for operator in self.operators
     ])
示例#4
0
 def _assert_self_adjoint(self):
     return control_flow_ops.group(
         [operator.assert_self_adjoint() for operator in self.operators])
示例#5
0
 def _assert_non_singular(self):
     return control_flow_ops.group(
         [operator.assert_non_singular() for operator in self.operators])
 def _assert_non_singular(self):
     return control_flow_ops.group(
         [op.assert_non_singular() for op in self._diagonal_operators])
 def _assert_non_singular(self):
   if all(operator.is_square for operator in self.operators):
     asserts = [operator.assert_non_singular() for operator in self.operators]
     return control_flow_ops.group(asserts)
   return super(LinearOperatorComposition, self)._assert_non_singular()