线性代数【免费下载链接】asnumpy-docs项目地址: https://gitcode.com/cann/asnumpy-docs::: info 当前 API 文档站仅保留了一组代表性API。由于 AsNumpy 前端与文档体系仍在进行较大幅度整改其余接口文档暂时隐藏待前端稳定后再逐步补全。当前文档仅供参考。 :::矩阵和向量乘积asnumpy.dotasnumpy.dot(a: ArrayLike, b: ArrayLike) - ndarray根据输入维度执行点积或张量收缩。此函数根据输入a和b的维度进行处理。对于 1-D 数组计算向量的内积。对于 2-D 数组执行矩阵乘法。对于 0-D标量输入执行标量乘法。对于 N-D 数组通常在a的最后一个轴和b的倒数第二个轴上计算求和乘积。参数a(ArrayLike): 第一个输入数组。b(ArrayLike): 第二个输入数组。返回值ndarray:a和b的点积结果。::: tip 当前测试覆盖了 1-D、2-D、非方阵、空数组输入与float32/float64精度场景。需要注意的是空数组输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.dotasnumpy.matmul示例 import numpy as np import asnumpy as ap vec1 ap.ndarray.from_numpy(np.array([1, 2], dtypenp.int32)) vec2 ap.ndarray.from_numpy(np.array([3, 4], dtypenp.int32)) ap.dot(vec1, vec2) 11 mat1 ap.ndarray.from_numpy(np.array([[1, 2], [3, 4]], dtypenp.int32)) mat2 ap.ndarray.from_numpy(np.array([[5, 6], [7, 8]], dtypenp.int32)) ap.dot(mat1, mat2) array([[19, 22], [43, 50]])i, a) # 对角线 array([0, 4, 8]) --asnumpy.innerasnumpy.inner(a: ArrayLike, b: ArrayLike) - ndarray计算两个数组最后一维上的内积。对于一维输入该函数返回标准向量内积对于更高维输入它会在最后一个轴上执行求和行为与numpy.inner一致。参数a(ArrayLike): 第一个输入数组。b(ArrayLike): 第二个输入数组。返回值ndarray: 数组的内积结果。::: tip 当前测试覆盖了 1-D、2-D、float32/float64精度以及空数组输入场景。需要注意的是空数组输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.inner示例 import numpy as np import asnumpy as ap vec1 ap.ndarray.from_numpy(np.array([2, 3], dtypenp.int32)) vec2 ap.ndarray.from_numpy(np.array([4, 5], dtypenp.int32)) ap.inner(vec1, vec2) 23asnumpy.matmulasnumpy.matmul(x1: ArrayLike, x2: ArrayLike) - ndarray按照标准线性代数广播规则执行矩阵乘法。参数x1(ArrayLike): 第一个输入数组。x2(ArrayLike): 第二个输入数组。返回值ndarray: 输入的矩阵乘积。::: tip 当前测试覆盖了 2-D、非方阵、批量广播、float32/float64精度以及空数组输入场景。需要注意的是空数组输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.matmul示例 import numpy as np import asnumpy as ap mat1 ap.ndarray.from_numpy(np.array([[1, 2], [3, 4]], dtypenp.int32)) mat2 ap.ndarray.from_numpy(np.array([[5, 6], [7, 8]], dtypenp.int32)) ap.matmul(mat1, mat2) array([[19, 22], [43, 50]])asnumpy.outerasnumpy.outer(a: ArrayLike, b: ArrayLike) - ndarray从两个输入生成外积矩阵。输入会先展平为一维再构造结果矩阵其中每个元素是对应输入值的乘积。参数a(ArrayLike): 第一个输入数组。b(ArrayLike): 第二个输入数组。返回值ndarray: 外积矩阵。::: tip 当前测试覆盖了一维输入、二维输入自动展平、float32/float64精度以及空数组输入场景。需要注意的是空数组输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.outer示例 import numpy as np import asnumpy as ap vec1 ap.ndarray.from_numpy(np.array([1, 2, 3], dtypenp.int32)) vec2 ap.ndarray.from_numpy(np.array([4, 5], dtypenp.int32)) ap.outer(vec1, vec2) array([[ 4, 5], [ 8, 10], [12, 15]])asnumpy.vdotasnumpy.vdot(a: ArrayLike, b: ArrayLike) - ndarray展平输入对第一个参数应用复共轭然后计算它们的标量积。参数a(ArrayLike): 第一个输入数组。b(ArrayLike): 第二个输入数组。返回值ndarray: 向量的点积。::: tip 当前测试覆盖了一维、二维自动展平、float32/float64精度以及空数组输入场景。需要注意的是空数组输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.vdot分解asnumpy.linalg.qrasnumpy.linalg.qr(a: ArrayLike, mode: str reduced) - Union[ndarray, tuple]将矩阵分解为正交矩阵Q和上三角矩阵R。参数a(ArrayLike): 要分解的输入矩阵。mode(str, 可选): 分解模式当前测试覆盖reduced、complete与r。返回值ndarray 或 tuple: 当moder时返回R否则返回(Q, R)。::: tip 当前测试覆盖了方阵、非方阵、秩亏矩阵、批量矩阵、float32/float64精度以及空矩阵输入场景。需要注意的是空矩阵输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.linalg.qr范数和其他数值asnumpy.linalg.normasnumpy.linalg.norm( a: ArrayLike, ord: Optional[Union[str, int, float]] None, axis: AxisLike None, keepdims: bool False, ) - ndarray根据指定阶数测量向量或矩阵的大小或尺寸。参数a(ArrayLike): 输入向量或矩阵。ord(int, float 或 str, 可选): 范数的阶数。axis(AxisLike, 可选): 计算的轴。keepdims(bool, 可选): 如果为True保留缩减的轴。返回值ndarray: 范数值。::: tip 当前测试覆盖了向量范数、矩阵 Frobenius 范数、非方阵、axis、keepdims、批量输入、float32/float64精度以及空数组输入场景。需要注意的是空数组输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.linalg.norm示例 import numpy as np import asnumpy as ap v ap.ndarray.from_numpy(np.array([3., 4.], dtypenp.float32)) ap.linalg.norm(v) 5.0asnumpy.linalg.detasnumpy.linalg.det(a: ArrayLike) - ndarray计算方阵的行列式。参数a(ArrayLike): 方阵或方阵批次。返回值ndarray: 每个矩阵的行列式值。::: tip 当前测试覆盖了 2x2、3x3、奇异矩阵、批量矩阵、float32/float64精度以及空矩阵输入场景。需要注意的是空矩阵输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.linalg.det示例 import numpy as np import asnumpy as ap mtx ap.ndarray.from_numpy(np.array([[1., 2.], [3., 4.]], dtypenp.float32)) ap.linalg.det(mtx) -2.0asnumpy.linalg.slogdetasnumpy.linalg.slogdet(a: ArrayLike) - tuple同时返回矩阵行列式的符号和自然对数以提高数值稳定性。参数a(ArrayLike): 输入方阵。返回值tuple: 返回(sign, logdet)其中sign表示行列式符号logdet表示行列式绝对值的自然对数。::: tip 当前测试覆盖了普通方阵、奇异矩阵、批量矩阵、float32/float64精度以及空矩阵输入场景。需要注意的是空矩阵输入在测试文件中以xfail标记表示该场景当前被记录为已知不通过而不是稳定支持。对于包含nan或inf的浮点输入当前实现会回退到 NumPy 计算。 :::参见numpy.linalg.slogdet求解方程与逆矩阵asnumpy.linalg.invasnumpy.linalg.inv(a: ArrayLike) - ndarray求出与原矩阵相乘可得到单位矩阵的矩阵。参数a(ArrayLike): 需要求逆的方阵。返回值ndarray: 输入矩阵的逆矩阵。::: tip 当前测试覆盖了 2x2、3x3、4x4、批量矩阵、float32/float64精度以及奇异矩阵、非方阵、空矩阵等边界场景。需要注意的是奇异矩阵、非方阵输入、空矩阵输入在测试文件中均以xfail标记表示这些场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.linalg.inv示例 import numpy as np import asnumpy as ap M ap.ndarray.from_numpy(np.array([[1., 2.], [3., 4.]], dtypenp.float32)) ap.linalg.inv(M) array([[-2. , 1. ], [ 1.5, -0.5]])asnumpy.linalg.matrix_powerasnumpy.linalg.matrix_power(a: ArrayLike, n: int) - ndarray通过重复乘法将矩阵提升到指定的整数幂。参数a(ArrayLike): 输入方阵。n(int): 应用于矩阵的整数指数。返回值ndarray: 应用指定幂运算后的结果矩阵。::: tip 当前测试覆盖了正幂、零幂、负幂、float32/float64精度以及奇异矩阵负幂和空矩阵等边界场景。需要注意的是奇异矩阵负幂和空矩阵在测试文件中以xfail标记表示这些场景当前被记录为已知不通过而不是稳定支持。 :::参见numpy.linalg.matrix_power示例 import numpy as np import asnumpy as ap m ap.ndarray.from_numpy(np.array([[1, 2], [0, 1]], dtypenp.int32)) ap.linalg.matrix_power(m, 2) array([[1, 4], [0, 1]])【免费下载链接】asnumpy-docs项目地址: https://gitcode.com/cann/asnumpy-docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考