code: def distribution(self, distr_args, loc=None, scale=None, dim=None):
      dist = LowrankMultivariateGaussian(dim, self.rank, *distr_args)
      if loc is None and scale is None:
          return dist
      else:
          return AffineTransformedDistribution(
              dist, loc=loc, scale=scale
          )
  
file_path: gluonts/src/gluonts/mx/distribution/lowrank_gp.py
imports: from collections import OrderedDict
  from typing import Optional, Tuple
  from mxnet import gluon
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from .None import LowrankMultivariateGaussian
  from .distribution_output import ArgProj, DistributionOutput, AffineTransformedDistribution
  from .lowrank_multivariate_gaussian import inv_softplus, sigma_minimum
label_desc: Use image node_id 3 for calling the LowrankGPOutput obj's underlying member method code with example usage: obj.distribution(distr_args, loc, scale, dim) and returns: dist, AffineTransformedDistribution