From a63a036803b050e7011308d31cb24c951b73b965 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Sat, 25 Nov 2023 03:37:20 +0800 Subject: [PATCH 01/11] add householder_product_cn doc --- docs/api/paddle/linalg/Overview_cn.rst | 2 +- .../paddle/linalg/householder_product_cn.rst | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 docs/api/paddle/linalg/householder_product_cn.rst diff --git a/docs/api/paddle/linalg/Overview_cn.rst b/docs/api/paddle/linalg/Overview_cn.rst index 3b34686cc0a..e9e9996a568 100644 --- a/docs/api/paddle/linalg/Overview_cn.rst +++ b/docs/api/paddle/linalg/Overview_cn.rst @@ -62,7 +62,7 @@ paddle.linalg 目录下包含飞桨框架支持的线性代数相关 API。具 " :ref:`paddle.linalg.qr ` ", "计算矩阵的正交三角分解(也称 QR 分解)" " :ref:`paddle.linalg.lu ` ", "计算矩阵的 LU 分解" " :ref:`paddle.linalg.lu_unpack ` ", "对矩阵的 LU 分解结果进行展开得到各单独矩阵" - + " :ref:`paddle.linalg.householder_product ` ", "计算 Householder 矩阵乘积的前 n 列(输入矩阵为 `[*,m,n]` )" .. _about_solvers: diff --git a/docs/api/paddle/linalg/householder_product_cn.rst b/docs/api/paddle/linalg/householder_product_cn.rst new file mode 100644 index 00000000000..74b44a45bfe --- /dev/null +++ b/docs/api/paddle/linalg/householder_product_cn.rst @@ -0,0 +1,35 @@ +.. _cn_api_paddle_linalg_householder_product: + +householder_product +------------------------------- + +.. py:function:: paddle.linalg.householder_product(x, tau, name=None) + + +计算 Householder 矩阵乘积的前 n 列(输入矩阵为 `[*,m,n]` )。 + + +该函数可以从矩阵 `x` (m x n) 得到向量 :math:`\omega_{i}`,其中前 `i-1` 个元素为零,第 i 个元素为 `1`,其余元素元素来自 `x` 的第 i 列。 +并且使用向量 `tau` 可以计算 Householder 矩阵乘积的前 n 列。 + +.. math:: + H_i = I_m - \tau_i \omega_i \omega_i^H + + +参数 +:::::::::::: + + - **x** (Tensor): 形状为 `(*, m, n)` 的张量,其中 * 是零个或多个批量维度。 + - **tau** (Tensor): 形状为 `(*, k)` 的张量,其中 * 是零个或多个批量维度。 + - **name** (str, 可选): 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 + + +返回 +:::::::::::: + + - Tensor, dtype与输入张量相同, QR分解中的Q, :MATH:`out = q = H_1H_2H_3 ... H_K` + +代码示例 +:::::::::: + +COPY-FROM: paddle.linalg.householder_product From 7cba614da2ed2dcccf4be165683db3be982c7a95 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Fri, 1 Dec 2023 16:45:28 +0800 Subject: [PATCH 02/11] doc style --- .../paddle/linalg/householder_product_cn.rst | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/api/paddle/linalg/householder_product_cn.rst b/docs/api/paddle/linalg/householder_product_cn.rst index 74b44a45bfe..7d4bc6ac0c0 100644 --- a/docs/api/paddle/linalg/householder_product_cn.rst +++ b/docs/api/paddle/linalg/householder_product_cn.rst @@ -1,35 +1,35 @@ -.. _cn_api_paddle_linalg_householder_product: - -householder_product -------------------------------- - -.. py:function:: paddle.linalg.householder_product(x, tau, name=None) - - -计算 Householder 矩阵乘积的前 n 列(输入矩阵为 `[*,m,n]` )。 - - -该函数可以从矩阵 `x` (m x n) 得到向量 :math:`\omega_{i}`,其中前 `i-1` 个元素为零,第 i 个元素为 `1`,其余元素元素来自 `x` 的第 i 列。 -并且使用向量 `tau` 可以计算 Householder 矩阵乘积的前 n 列。 - -.. math:: - H_i = I_m - \tau_i \omega_i \omega_i^H - - -参数 -:::::::::::: - - - **x** (Tensor): 形状为 `(*, m, n)` 的张量,其中 * 是零个或多个批量维度。 - - **tau** (Tensor): 形状为 `(*, k)` 的张量,其中 * 是零个或多个批量维度。 - - **name** (str, 可选): 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 - - -返回 -:::::::::::: - - - Tensor, dtype与输入张量相同, QR分解中的Q, :MATH:`out = q = H_1H_2H_3 ... H_K` - -代码示例 -:::::::::: - -COPY-FROM: paddle.linalg.householder_product +.. _cn_api_paddle_linalg_householder_product: + +householder_product +------------------------------- + +.. py:function:: paddle.linalg.householder_product(x, tau, name=None) + + +计算 Householder 矩阵乘积的前 n 列(输入矩阵为 `[*,m,n]` )。 + + +该函数可以从矩阵 `x` (m x n) 得到向量 :math:`\omega_{i}`,其中前 `i-1` 个元素为零,第 i 个元素为 `1`,其余元素元素来自 `x` 的第 i 列。 +并且使用向量 `tau` 可以计算 Householder 矩阵乘积的前 n 列。 + +.. math:: + H_i = I_m - \tau_i \omega_i \omega_i^H + + +参数 +:::::::::::: + + - **x** (Tensor): 形状为 `(*, m, n)` 的张量,其中 * 是零个或多个批量维度。 + - **tau** (Tensor): 形状为 `(*, k)` 的张量,其中 * 是零个或多个批量维度。 + - **name** (str, 可选): 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 + + +返回 +:::::::::::: + + - Tensor, dtype 与输入张量相同, QR 分解中的 Q, :MATH:`out = q = H_1H_2H_3 ... H_K` + +代码示例 +:::::::::: + +COPY-FROM: paddle.linalg.householder_product From 473b0816ac845b2b61567ab402e043f0e35912b2 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Fri, 22 Dec 2023 05:29:26 +0800 Subject: [PATCH 03/11] add copysign cn doc --- docs/api/paddle/Overview_cn.rst | 1 + docs/api/paddle/copysign_cn.rst | 38 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 docs/api/paddle/copysign_cn.rst diff --git a/docs/api/paddle/Overview_cn.rst b/docs/api/paddle/Overview_cn.rst index e8f2d4ab4a6..46ea7550f92 100755 --- a/docs/api/paddle/Overview_cn.rst +++ b/docs/api/paddle/Overview_cn.rst @@ -52,6 +52,7 @@ tensor 数学操作 " :ref:`paddle.conj ` ", "逐元素计算 Tensor 的共轭运算" " :ref:`paddle.cos ` ", "余弦函数" " :ref:`paddle.cosh ` ", "双曲余弦函数" + " :ref:`paddle.cosh ` ", "按照元素计算两个输入 Tensor 的 copysign 大小,由数值和符号组成,其数值部分来自于第一个 Tensor 中的元素,符号部分来自于第二个 Tensor 中的元素。" " :ref:`paddle.count_nonzero ` ", "沿给定的轴 axis 统计非零元素的数量" " :ref:`paddle.cumsum ` ", "沿给定 axis 计算 Tensor x 的累加和" " :ref:`paddle.cummax ` ", "沿给定 axis 计算 Tensor x 的累计最大值" diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst new file mode 100644 index 00000000000..773ed3de7ae --- /dev/null +++ b/docs/api/paddle/copysign_cn.rst @@ -0,0 +1,38 @@ +.. _cn_api_paddle_copysign: + +copysign +------------------------------- + +.. py:function:: paddle.copysign(x, y, name=None) + + +按照元素计算两个输入 Tensor 的 copysign 大小,由数值和符号组成,其数值部分来自于第一个 Tensor 中的元素,符号部分来自于第二个 Tensor 中的元素。 + +.. math:: + out_{i}= + \left\{ + \begin{array}{lcl} + -|input_{i}|&ifother_{i}\le-0.0 \\ + |input_{i}|&ifother_{i}\ge0.0\ + \end{array} + \right. + + + +参数 +:::::::::::: + + - **x** (Tensor) - 输入的复数值的 Tensor,数据类型为:bfloat16、float16、float32、float64、uint8、int16、int32、int64。 + - **x** (Tensor) - 输入的复数值的 Tensor,数据类型为:bfloat16、float16、float32、float64、uint8、int16、int32、int64。 + - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 + +返回 +:::::::::::: + +Tensor,若输入 Tensor 的 dtype 不为 float16 或 bfloat16,则输出为 double 的 Tensor。若输入 Tensor 的 dtype 为 bfloat16 或 float16 ,则输出类型与输入类型相同。 + + +代码示例 +:::::::::::: + +COPY-FROM: paddle.copysign From cb2dffd124a526bb97018142a77267c742a1ad30 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Fri, 22 Dec 2023 10:22:59 +0800 Subject: [PATCH 04/11] modify math --- docs/api/paddle/copysign_cn.rst | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst index 773ed3de7ae..bc84a68a509 100644 --- a/docs/api/paddle/copysign_cn.rst +++ b/docs/api/paddle/copysign_cn.rst @@ -7,17 +7,14 @@ copysign 按照元素计算两个输入 Tensor 的 copysign 大小,由数值和符号组成,其数值部分来自于第一个 Tensor 中的元素,符号部分来自于第二个 Tensor 中的元素。 - -.. math:: - out_{i}= - \left\{ - \begin{array}{lcl} - -|input_{i}|&ifother_{i}\le-0.0 \\ - |input_{i}|&ifother_{i}\ge0.0\ - \end{array} - \right. +Equation: + .. math:: + copysign(x,y)=\left\{\begin{matrix} + & -|(input_{i})| & if other_{i} <= 0.0\\ + & |(input_{i})| & if other_{i} > 0.0 + \end{matrix}\right. 参数 :::::::::::: From bf030762f2fe9a8f7a6966dddb9b814d5aa3d291 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Fri, 22 Dec 2023 10:25:49 +0800 Subject: [PATCH 05/11] modify math --- docs/api/paddle/copysign_cn.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst index bc84a68a509..f8ca3cec491 100644 --- a/docs/api/paddle/copysign_cn.rst +++ b/docs/api/paddle/copysign_cn.rst @@ -8,13 +8,13 @@ copysign 按照元素计算两个输入 Tensor 的 copysign 大小,由数值和符号组成,其数值部分来自于第一个 Tensor 中的元素,符号部分来自于第二个 Tensor 中的元素。 -Equation: - .. math:: +.. math:: + + copysign(x{i},y{i})=\left\{\begin{matrix} + & -|(x{i})| & if y{i} <= 0.0\\ + & |(x{i})| & if y{i} > 0.0 + \end{matrix}\right. - copysign(x,y)=\left\{\begin{matrix} - & -|(input_{i})| & if other_{i} <= 0.0\\ - & |(input_{i})| & if other_{i} > 0.0 - \end{matrix}\right. 参数 :::::::::::: From af8a53ba4ce5e87064e1776ac96c6ee0bf6c0371 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Wed, 10 Jan 2024 09:55:15 +0800 Subject: [PATCH 06/11] fix doc --- docs/api/paddle/copysign_cn.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst index f8ca3cec491..e9b45cf9bfa 100644 --- a/docs/api/paddle/copysign_cn.rst +++ b/docs/api/paddle/copysign_cn.rst @@ -10,23 +10,23 @@ copysign .. math:: - copysign(x{i},y{i})=\left\{\begin{matrix} - & -|(x{i})| & if y{i} <= 0.0\\ - & |(x{i})| & if y{i} > 0.0 + copysign(x_{i},y_{i})=\left\{\begin{matrix} + & -|x_{i}| & if \space y_{i} <= -0.0\\ + & |x_{i}| & if \space y_{i} >= 0.0 \end{matrix}\right. 参数 :::::::::::: - - **x** (Tensor) - 输入的复数值的 Tensor,数据类型为:bfloat16、float16、float32、float64、uint8、int16、int32、int64。 - - **x** (Tensor) - 输入的复数值的 Tensor,数据类型为:bfloat16、float16、float32、float64、uint8、int16、int32、int64。 + - **x** (Tensor) - 输入的复数值的 Tensor,数据类型为:bool, uint8, int8, int16, int32, int64, bfloat16, float16, float32, float64。 + - **y** (Tensor) - 输入的复数值的 Tensor,数据类型为:bool, uint8, int8, int16, int32, int64, bfloat16, float16, float32, float64。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 :::::::::::: -Tensor,若输入 Tensor 的 dtype 不为 float16 或 bfloat16,则输出为 double 的 Tensor。若输入 Tensor 的 dtype 为 bfloat16 或 float16 ,则输出类型与输入类型相同。 +Tensor,输出数据类型与输入数据类型相同。 代码示例 From 998258e2264557c9c27e10dccdda4404d750385d Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Wed, 10 Jan 2024 20:06:38 +0800 Subject: [PATCH 07/11] fix doc, add inplace doc --- docs/api/paddle/copysign__cn.rst | 12 ++++++++++++ docs/api/paddle/copysign_cn.rst | 26 ++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 docs/api/paddle/copysign__cn.rst diff --git a/docs/api/paddle/copysign__cn.rst b/docs/api/paddle/copysign__cn.rst new file mode 100644 index 00000000000..82a885b7452 --- /dev/null +++ b/docs/api/paddle/copysign__cn.rst @@ -0,0 +1,12 @@ +.. _cn_api_paddle_copysign_: + +copysign\_ +------------------------------- + +.. py:function:: paddle.copysign_(x, y, name=None) + +Inplace 版本的 :ref:`cn_api_paddle_copysign` API,对输入 `x` 采用 Inplace 策略。 + +更多关于 inplace 操作的介绍请参考 `3.1.3 原位(Inplace)操作和非原位操作的区别`_ 了解详情。 + +.. _3.1.3 原位(Inplace)操作和非原位操作的区别: https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/guides/beginner/tensor_cn.html#id3 \ No newline at end of file diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst index e9b45cf9bfa..42e943b5dab 100644 --- a/docs/api/paddle/copysign_cn.rst +++ b/docs/api/paddle/copysign_cn.rst @@ -29,7 +29,29 @@ copysign Tensor,输出数据类型与输入数据类型相同。 -代码示例 +代码示例1 :::::::::::: -COPY-FROM: paddle.copysign +COPY-FROM: paddle.copysign:example1 + + +代码示例2 +:::::::::::: + +支持广播机制 + +COPY-FROM: paddle.copysign:example2 + +代码示例3 +:::::::::::: + +y为+0.0时 + +COPY-FROM: paddle.copysign:example_zero1 + +代码示例4 +:::::::::::: + +y为-0.0时 + +COPY-FROM: paddle.copysign:example_zero2 From 80a62c305c8ae64d4e62b3dcbf9932e1ba49905a Mon Sep 17 00:00:00 2001 From: coco <69197635+cocoshe@users.noreply.github.com> Date: Thu, 11 Jan 2024 10:57:11 +0800 Subject: [PATCH 08/11] Update docs/api/paddle/Overview_cn.rst Co-authored-by: zachary sun <70642955+sunzhongkai588@users.noreply.github.com> --- docs/api/paddle/Overview_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/Overview_cn.rst b/docs/api/paddle/Overview_cn.rst index 46ea7550f92..d989dfd343c 100755 --- a/docs/api/paddle/Overview_cn.rst +++ b/docs/api/paddle/Overview_cn.rst @@ -52,7 +52,7 @@ tensor 数学操作 " :ref:`paddle.conj ` ", "逐元素计算 Tensor 的共轭运算" " :ref:`paddle.cos ` ", "余弦函数" " :ref:`paddle.cosh ` ", "双曲余弦函数" - " :ref:`paddle.cosh ` ", "按照元素计算两个输入 Tensor 的 copysign 大小,由数值和符号组成,其数值部分来自于第一个 Tensor 中的元素,符号部分来自于第二个 Tensor 中的元素。" + " :ref:`paddle.copysign ` ", "按照元素计算两个输入 Tensor 的 copysign 大小,由数值和符号组成,其数值部分来自于第一个 Tensor 中的元素,符号部分来自于第二个 Tensor 中的元素。" " :ref:`paddle.count_nonzero ` ", "沿给定的轴 axis 统计非零元素的数量" " :ref:`paddle.cumsum ` ", "沿给定 axis 计算 Tensor x 的累加和" " :ref:`paddle.cummax ` ", "沿给定 axis 计算 Tensor x 的累计最大值" From 19f38eb831ced40b346a8446e7fb7e7f69038b8c Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Thu, 11 Jan 2024 11:28:02 +0800 Subject: [PATCH 09/11] add inplace --- docs/api/paddle/Overview_cn.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/api/paddle/Overview_cn.rst b/docs/api/paddle/Overview_cn.rst index d989dfd343c..bca0f0d1189 100755 --- a/docs/api/paddle/Overview_cn.rst +++ b/docs/api/paddle/Overview_cn.rst @@ -175,6 +175,7 @@ tensor 数学操作原位(inplace)版本 " :ref:`paddle.put_along_axis_ ` ", "Inplace 版本的 put_along_axis API,对输入 x 采用 Inplace 策略" " :ref:`paddle.ceil_ ` ", "Inplace 版本的 ceil API,对输入 x 采用 Inplace 策略" " :ref:`paddle.clip_ ` ", "Inplace 版本的 clip API,对输入 x 采用 Inplace 策略" + " :ref:`paddle.copysign_ ` ", "Inplace 版本的 copysign API,对输入 x 采用 Inplace 策略" " :ref:`paddle.exp_ ` ", "Inplace 版本的 exp API,对输入 x 采用 Inplace 策略" " :ref:`paddle.flatten_ ` ", "Inplace 版本的 flatten API,对输入 x 采用 Inplace 策略" " :ref:`paddle.floor_ ` ", "Inplace 版本的 floor API,对输入 x 采用 Inplace 策略" From dc5e9f2488e3e6d2063d4e195bc605e69041c279 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Thu, 11 Jan 2024 12:20:08 +0800 Subject: [PATCH 10/11] docstyle --- docs/api/paddle/copysign__cn.rst | 2 +- docs/api/paddle/copysign_cn.rst | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/api/paddle/copysign__cn.rst b/docs/api/paddle/copysign__cn.rst index 82a885b7452..1951267b169 100644 --- a/docs/api/paddle/copysign__cn.rst +++ b/docs/api/paddle/copysign__cn.rst @@ -9,4 +9,4 @@ Inplace 版本的 :ref:`cn_api_paddle_copysign` API,对输入 `x` 采用 Inpla 更多关于 inplace 操作的介绍请参考 `3.1.3 原位(Inplace)操作和非原位操作的区别`_ 了解详情。 -.. _3.1.3 原位(Inplace)操作和非原位操作的区别: https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/guides/beginner/tensor_cn.html#id3 \ No newline at end of file +.. _3.1.3 原位(Inplace)操作和非原位操作的区别: https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/guides/beginner/tensor_cn.html#id3 diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst index 42e943b5dab..fa10fc836dc 100644 --- a/docs/api/paddle/copysign_cn.rst +++ b/docs/api/paddle/copysign_cn.rst @@ -29,29 +29,29 @@ copysign Tensor,输出数据类型与输入数据类型相同。 -代码示例1 +代码示例 1 :::::::::::: COPY-FROM: paddle.copysign:example1 -代码示例2 +代码示例 2 :::::::::::: 支持广播机制 COPY-FROM: paddle.copysign:example2 -代码示例3 +代码示例 3 :::::::::::: -y为+0.0时 +y 为+0.0 时 COPY-FROM: paddle.copysign:example_zero1 -代码示例4 +代码示例 4 :::::::::::: -y为-0.0时 +y 为-0.0 时 COPY-FROM: paddle.copysign:example_zero2 From a69bc6a346fb978ae0b63f4af73f3a8bcb812a99 Mon Sep 17 00:00:00 2001 From: coco <1228759711@qq.com> Date: Fri, 12 Jan 2024 12:57:12 +0800 Subject: [PATCH 11/11] update --- docs/api/paddle/copysign_cn.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api/paddle/copysign_cn.rst b/docs/api/paddle/copysign_cn.rst index fa10fc836dc..4da31e4df23 100644 --- a/docs/api/paddle/copysign_cn.rst +++ b/docs/api/paddle/copysign_cn.rst @@ -45,13 +45,13 @@ COPY-FROM: paddle.copysign:example2 代码示例 3 :::::::::::: -y 为+0.0 时 +y 为 +0.0 时 COPY-FROM: paddle.copysign:example_zero1 代码示例 4 :::::::::::: -y 为-0.0 时 +y 为 -0.0 时 COPY-FROM: paddle.copysign:example_zero2