def _default_event_space_bijector(self): # TODO(b/145620027) Finalize choice of bijector. cholesky_bijector = correlation_cholesky_bijector.CorrelationCholesky( validate_args=self.validate_args) if self.input_output_cholesky: return cholesky_bijector return chain_bijector.Chain([ cholesky_outer_product_bijector.CholeskyOuterProduct( validate_args=self.validate_args), cholesky_bijector ], validate_args=self.validate_args)
def _default_event_space_bijector(self): # TODO(b/145620027) Finalize choice of bijector. cholesky_bijector = correlation_cholesky_bijector.CorrelationCholesky( validate_args=self.validate_args) if self.input_output_cholesky: return cholesky_bijector return chain_bijector.Chain([ # We need to explictly clip the output of this bijector because the # other two bijectors sometimes return values that exceed the bounds by # an epsilon due to minute numerical errors. Even numerically stable # algorithms (which the other two bijectors employ) allow for symmetric # errors about the true value, which is inappropriate for a one-sided # validity constraint associated with correlation matrices. _ClipByValue(-1., tf.ones([], self.dtype)), cholesky_outer_product_bijector.CholeskyOuterProduct( validate_args=self.validate_args), cholesky_bijector ], validate_args=self.validate_args)
def _default_event_space_bijector(self): return correlation_cholesky_bijector.CorrelationCholesky( validate_args=self.validate_args)