class_docstr: Compute `Y = g(X; scale) = scale @ X`.
  
  In TF parlance, the `scale` term is logically equivalent to:
  
  ```python
  scale = tf.diag(scale_diag)
  ```
  
  The `scale` term is applied without materializing a full dense matrix.
  
  #### Examples
  
  ```python
  # Y = tf.diag(d1) @ X
  b = ScaleMatvecDiag(scale_diag=[-1., 2, 1])  # Implicitly 3x3.
  ```
code: def _parameter_properties(cls, dtype):
      return {
          "scale_diag": parameter_properties.ParameterProperties(
              event_ndims=1
          )
      }
  
file_path: probability/tensorflow_probability/python/bijectors/scale_matvec_diag.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import ldj_ratio
  from tensorflow_probability.python.bijectors import scale_matvec_linear_operator
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensor_util
label_desc: Use image node_id 2 for calling the ScaleMatvecDiag obj's underlying member method code with example usage: obj._parameter_properties(cls, dtype) and returns: dict