cholesky functionkeras.ops.cholesky(x)
计算半正定矩阵的Cholesky分解.
参数:
x: 形状为 (..., M, M) 的输入张量.
返回:
形状为 (..., M, M) 的张量,表示 x 的下三角Cholesky因子.
det functionkeras.ops.det(x)
计算方阵张量的行列式.
参数:
x: 形状为 (..., M, M) 的输入张量.
返回:
形状为 (...,) 的张量,表示 x 的行列式.
eig functionkeras.ops.eig(x)
计算方阵的特征值和特征向量.
参数:
x: 形状为 (..., M, M) 的输入张量.
返回:
包含两个张量的元组:一个形状为 (..., M) 的张量,包含特征值,和一个形状为 (..., M, M) 的张量,包含特征向量.
inv functionkeras.ops.inv(x)
计算一个方阵张量的逆.
参数:
x: 形状为 (..., M, M) 的输入张量.
返回:
形状为 (..., M, M) 的张量,表示 x 的逆.
lu_factor functionkeras.ops.lu_factor(x)
计算一个方阵的LU分解.
参数:
x: 形状为(..., M, M)的张量.
返回:
一个包含两个张量的元组:一个形状为(..., M, M)的张量,包含下三角矩阵和上三角矩阵,以及一个形状为(..., M)的张量,包含枢轴.
norm functionkeras.ops.norm(x, ord=None, axis=None, keepdims=False)
矩阵或向量范数.
此函数能够返回八种不同的矩阵范数之一,或无数种向量范数之一(如下所述),具体取决于 ord 参数的值.
参数:
x: 输入张量.
ord: 范数的阶数(参见下面的注释表).默认值为 None.
axis: 如果 axis 是整数,它指定计算向量范数的 x 的轴.如果 axis 是 2 元组,它指定保存 2-D 矩阵的轴,并计算这些矩阵的矩阵范数.
keepdims: 如果设置为 True,则结果中会保留被缩减的轴,尺寸为 1.
注意:
对于 ord < 1 的值,严格来说,结果不是一个数学上的 '范数',但在各种数值用途上可能仍然有用.可以计算以下范数:
- 对于矩阵:
- ord=None: 弗罗贝尼乌斯范数
- ord="fro": 弗罗贝尼乌斯范数
- ord="nuc": 核范数
- ord=np.inf: max(sum(abs(x), axis=1))
- ord=-np.inf: min(sum(abs(x), axis=1))
- ord=0: 不支持
- ord=1: max(sum(abs(x), axis=0))
- ord=-1: min(sum(abs(x), axis=0))
- ord=2: 2-范数(最大奇异值)
- ord=-2: 最小奇异值
- 其他: 不支持
- 对于向量:
- ord=None: 2-范数
- ord="fro": 不支持
- ord="nuc": 不支持
- ord=np.inf: max(abs(x))
- ord=-np.inf: min(abs(x))
- ord=0: sum(x != 0)
- ord=1: 如下
- ord=-1: 如下
- ord=2: 如下
- ord=-2: 如下
- 其他: sum(abs(x)**ord)**(1./ord)
返回: 矩阵或向量的范数.
示例:
>>> x = keras.ops.reshape(keras.ops.arange(9, dtype="float32") - 4, (3, 3))
>>> keras.ops.linalg.norm(x)
7.7459664
qr functionkeras.ops.qr(x, mode="reduced")
计算张量的QR分解.
参数:
x: 形状为(..., M, N)的输入张量.
mode: 一个字符串,指定QR分解的模式.
- 'reduced': 返回缩减的QR分解.(默认)
- 'complete': 返回完整的QR分解.
返回:
包含两个张量的元组.第一个张量的形状为(..., M, K)
是正交矩阵q,第二个张量的形状为
(..., K, N)是上三角矩阵r,其中K = min(M, N).
示例:
>>> x = keras.ops.convert_to_tensor([[1., 2.], [3., 4.], [5., 6.]])
>>> q, r = qr(x)
>>> print(q)
array([[-0.16903079 0.897085]
[-0.5070925 0.2760267 ]
[-0.8451542 -0.34503305]], shape=(3, 2), dtype=float32)
solve functionkeras.ops.solve(a, b)
解决由 a x = b 给出的线性方程组.
参数:
a: 形状为 (..., M, M) 的张量,表示系数矩阵.
b: 形状为 (..., M) 或 (..., M, N) 的张量,表示右端或"因变量”矩阵.
返回:
形状为 (..., M) 或 (..., M, N) 的张量,表示线性方程组的解.返回的形状与 b 相同.
solve_triangular functionkeras.ops.solve_triangular(a, b, lower=False)
解决由 a x = b 给出的线性方程组.
参数:
a: 形状为 (..., M, M) 的张量,表示系数矩阵.
b: 形状为 (..., M) 或 (..., M, N) 的张量,表示右端或"因变量”矩阵.
返回:
形状为 (..., M) 或 (..., M, N) 的张量,表示线性方程组的解.返回的形状与 b 相同.
svd functionkeras.ops.svd(x, full_matrices=True, compute_uv=True)
计算矩阵的奇异值分解.
参数:
x: 形状为 (..., M, N) 的输入张量.
返回:
一个包含三个张量的元组:形状为 (..., M, M) 的左奇异向量张量,形状为 (..., M, N) 的奇异值张量,以及形状为 (..., N, N) 的右奇异向量张量.