def _cholesky_identity(identity_operator):
    return linear_operator_identity.LinearOperatorIdentity(
        num_rows=identity_operator._num_rows,  # pylint: disable=protected-access
        batch_shape=identity_operator.batch_shape,
        dtype=identity_operator.dtype,
        is_non_singular=True,
        is_self_adjoint=True,
        is_positive_definite=True,
        is_square=True)
Пример #2
0
 def _set_diag_operators(self, diag_update, is_diag_update_positive):
   """Set attributes self._diag_update and self._diag_operator."""
   if diag_update is not None:
     self._diag_operator = linear_operator_diag.LinearOperatorDiag(
         self._diag_update, is_positive_definite=is_diag_update_positive)
   else:
     if tensor_shape.dimension_value(tensor_shape.TensorShape(self.u.shape)[-1]) is not None:
       r = tensor_shape.dimension_value(tensor_shape.TensorShape(self.u.shape)[-1])
     else:
       r = array_ops.shape(self.u)[-1]
     self._diag_operator = linear_operator_identity.LinearOperatorIdentity(
         num_rows=r, dtype=self.dtype)