mindspore.ops.diag
===================

.. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.3.1/resource/_static/logo_source.svg
    :target: https://gitee.com/mindspore/mindspore/blob/r2.3.1/docs/api/api_python/ops/mindspore.ops.func_diag.rst
    :alt: 查看源文件


.. py:function:: mindspore.ops.diag(input)

    用给定的对角线值构造对角线Tensor。

    假设输入Tensor维度为 :math:`(D_1,... D_k)` ,则输出是一个rank为2k的Tensor,其维度为 :math:`(D_1,..., D_k, D_1,..., D_k)` ,其中 :math:`output[i_1,..., i_k, i_1,..., i_k] = input[i_1,..., i_k]` 并且其他位置的值为0。

    .. warning::
        这是一个实验性API,后续可能修改或删除。

    参数:
        - **input** (Tensor) - 输入Tensor。

    返回:
        Tensor,具有与输入Tensor相同的数据类型。

    异常:
        - **TypeError** - `input` 不是Tensor。
        - **ValueError** - `input` 的rank小于1。