class_docstr: Compute `Kendall Rank Correlation Coefficient`_.
  
  .. math::
      tau_a = \frac{C - D}{C + D}
  
  where :math:`C` represents concordant pairs, :math:`D` stands for discordant pairs.
  
  .. math::
      tau_b = \frac{C - D}{\sqrt{(C + D + T_{preds}) * (C + D + T_{target})}}
  
  where :math:`C` represents concordant pairs, :math:`D` stands for discordant pairs and :math:`T` represents
  a total number of ties.
  
  .. math::
      tau_c = 2 * \frac{C - D}{n^2 * \frac{m - 1}{m}}
  
  where :math:`C` represents concordant pairs, :math:`D` stands for discordant pairs, :math:`n` is a total number
  of observations and :math:`m` is a ``min`` of unique values in ``preds`` and ``target`` sequence.
  
  Definitions according to Definition according to `The Treatment of Ties in Ranking Problems`_.
  
  As input to ``forward`` and ``update`` the metric accepts the following input:
  
  - ``preds`` (:class:`~torch.Tensor`): Sequence of data in float tensor of either shape ``(N,)`` or ``(N,d)``
  - ``target`` (:class:`~torch.Tensor`): Sequence of data in float tensor of either shape ``(N,)`` or ``(N,d)``
  
  As output of ``forward`` and ``compute`` the metric returns the following output:
  
  - ``kendall`` (:class:`~torch.Tensor`): A tensor with the correlation tau statistic,
    and if it is not None, the p-value of corresponding statistical test.
  
  Args:
      variant: Indication of which variant of Kendall's tau to be used
      t_test: Indication whether to run t-test
      alternative: Alternative hypothesis for t-test. Possible values:
          - 'two-sided': the rank correlation is nonzero
          - 'less': the rank correlation is negative (less than zero)
          - 'greater':  the rank correlation is positive (greater than zero)
      num_outputs: Number of outputs in multioutput setting
      kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info.
  
  Raises:
      ValueError: If ``t_test`` is not of a type bool
      ValueError: If ``t_test=True`` and ``alternative=None``
  
  Example (single output regression):
      >>> from torch import tensor
      >>> from torchmetrics.regression import KendallRankCorrCoef
      >>> preds = tensor([2.5, 0.0, 2, 8])
      >>> target = tensor([3, -0.5, 2, 1])
      >>> kendall = KendallRankCorrCoef()
      >>> kendall(preds, target)
      tensor(0.3333)
  
  Example (multi output regression):
      >>> from torchmetrics.regression import KendallRankCorrCoef
      >>> preds = tensor([[2.5, 0.0], [2, 8]])
      >>> target = tensor([[3, -0.5], [2, 1]])
      >>> kendall = KendallRankCorrCoef(num_outputs=2)
      >>> kendall(preds, target)
      tensor([1., 1.])
  
  Example (single output regression with t-test):
      >>> from torchmetrics.regression import KendallRankCorrCoef
      >>> preds = tensor([2.5, 0.0, 2, 8])
      >>> target = tensor([3, -0.5, 2, 1])
      >>> kendall = KendallRankCorrCoef(t_test=True, alternative='two-sided')
      >>> kendall(preds, target)
      (tensor(0.3333), tensor(0.4969))
  
  Example (multi output regression with t-test):
      >>> from torchmetrics.regression import KendallRankCorrCoef
      >>> preds = tensor([[2.5, 0.0], [2, 8]])
      >>> target = tensor([[3, -0.5], [2, 1]])
      >>> kendall = KendallRankCorrCoef(t_test=True, alternative='two-sided', num_outputs=2)
      >>> kendall(preds, target)
      (tensor([1., 1.]), tensor([nan, nan]))
docstr: Compute Kendall rank correlation coefficient, and optionally p-value of corresponding statistical test.
docstr_tok: ["Compute","Kendall","rank","correlation","coefficient",",","and","optionally","p-value","of","corresponding","statistical","test","."]
code: def compute(self) -> Union[Tensor, Tuple[Tensor, Tensor]]:
      """Compute Kendall rank correlation coefficient, and optionally p-value of corresponding statistical test."""
      preds = dim_zero_cat(self.preds)
      target = dim_zero_cat(self.target)
      tau, p_value = _kendall_corrcoef_compute(
          preds, target, self.variant, self.alternative  # type: ignore[arg-type]  # todo
      )
  
      if p_value is not None:
          return tau, p_value
      return tau
  
file_path: torchmetrics/src/torchmetrics/regression/kendall.py
imports: from typing import Any, List, Optional, Sequence, Tuple, Union
  from torch import Tensor
  from typing_extensions import Literal
  from torchmetrics.functional.regression.kendall import _kendall_corrcoef_compute, _kendall_corrcoef_update, _MetricVariant, _TestAlternative
  from torchmetrics.metric import Metric
  from torchmetrics.utilities.data import dim_zero_cat
  from torchmetrics.utilities.imports import _MATPLOTLIB_AVAILABLE
  from torchmetrics.utilities.plot import _AX_TYPE, _PLOT_OUT_TYPE
label_desc: Use image node_id 3 for calling the KendallRankCorrCoef obj's underlying member method code with example usage: obj.compute() and returns: tau, tau,  p_value