code: def init_element(
      observation_matrix,
      observation_cov,
      initial_mean,
      initial_cov,
      observation_mean,
      y,
  ):
      """Represents the message from an observed value at the initial timestep."""
      with tf.name_scope("init_element"):
          pushforward_cov = _propagate_cov(
              matrix=observation_matrix,
              cov=initial_cov,
              added_cov=observation_cov,
          )
          chol_pushforward_cov = tf.linalg.cholesky(pushforward_cov)
          obs_matrix_initial_cov = tf.linalg.matmul(
              observation_matrix, initial_cov
          )
          k_transpose = linalg.hpsd_solve(
              pushforward_cov,
              obs_matrix_initial_cov,
              cholesky_matrix=chol_pushforward_cov,
          )
  
          return FilterElements(
              posterior_link_matrix=tf.zeros_like(initial_cov),
              posterior_mean=tf.linalg.matvec(
                  k_transpose,
                  y
                  - _propagate_mean(
                      matrix=observation_matrix,
                      mean=initial_mean,
                      added_mean=observation_mean,
                  ),
                  transpose_a=True,
              )
              + initial_mean,
              posterior_cov=initial_cov
              - tf.linalg.matmul(
                  obs_matrix_initial_cov, k_transpose, transpose_a=True
              ),
              marginal_likelihood_meanprec=tf.linalg.matvec(
                  observation_matrix,
                  linalg.hpsd_solvevec(
                      pushforward_cov,
                      y - observation_mean,
                      cholesky_matrix=chol_pushforward_cov,
                  ),
                  transpose_a=True,
              ),
              marginal_likelihood_prec=linalg.hpsd_quadratic_form_solve(
                  pushforward_cov,
                  observation_matrix,
                  cholesky_matrix=chol_pushforward_cov,
              ),
          )
  
imports: import collections
  import functools
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.math import linalg
  from tensorflow_probability.python.math.scan_associative import scan_associative
label_desc: Use image node_id 5 for calling a global function with example usage: init_element(observation_matrix, observation_cov, initial_mean, initial_cov, observation_mean, y) and returns: FilterElements