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)
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)