✨ feat(tsl-api-reference): add class and framework API lookup
This commit is contained in:
+297
@@ -0,0 +1,297 @@
|
||||
# 数学函数 / 数值计算 / 矩阵运算及分解
|
||||
|
||||
## `chol(h, l, p, options, sneg)`
|
||||
|
||||
声明:function
|
||||
|
||||
进行乔列斯基分解,H对称正定,则可以得到三角阵L
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ------------------------------------------------------------ |
|
||||
| `h` | array | 需要被分解的对称矩阵,正定矩阵的分解才能成功 |
|
||||
| `l` | array | 变参返回乔列斯基分解得到的三角阵 |
|
||||
| `p` | integer | 变参返回H的分解信息,-1表示全部分解成功,否则表示分解到第p步 |
|
||||
| `options` | array | 三角阵选项,默认'upper'为上三角,'lower' 为下三角 |
|
||||
| `sneg` | array | 当 H 非正定时计算曲率方向,正定时为空 |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
h := corr(rand(100, 4));
|
||||
chol(h, l, p); // 乔列斯基分解
|
||||
if p = -1 then return l; // p=-1表示分解成功
|
||||
```
|
||||
|
||||
## `cond(x)`
|
||||
|
||||
声明:function
|
||||
|
||||
求矩阵 X 的条件数,最大奇异值除最小奇异值
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ---------------------------------- |
|
||||
| `x` | array | array 需要求条件数的矩阵或二维数组 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
x := array((9, 1), (-1, 0), (0, 2), (1, 1));
|
||||
return cond(x); // 输出:4.22
|
||||
```
|
||||
|
||||
## `det(a)`
|
||||
|
||||
声明:function
|
||||
|
||||
行列式
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ----------------- |
|
||||
| `a` | array | 二维数字数组 样本 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
a := array((1, 2), (3, 4));
|
||||
return det(a); // 输出:-2
|
||||
```
|
||||
|
||||
## `diag(a)`
|
||||
|
||||
声明:function
|
||||
|
||||
对角阵
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ---------- |
|
||||
| `a` | array | array 数组 |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
a := array((2, 1), (1, 3));
|
||||
return diag(a); // 输出:array(2,3);
|
||||
```
|
||||
|
||||
## `eigen(a, eigen, eigenvectors, isreal)`
|
||||
|
||||
声明:function
|
||||
|
||||
特征根与特征向量
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | --------------------------------- |
|
||||
| `a` | array | array 特征值分解的数据 |
|
||||
| `eigen` | array | array 变参返回特征值 |
|
||||
| `eigenvectors` | array | array 变参返回特征向量 |
|
||||
| `isreal` | integer | bool 是否只输出实特征值及特征向量 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
a := array((1, 2), (3, 4));
|
||||
eigen(a, eigen);
|
||||
return eigen;
|
||||
// array(-0.37,5.37)
|
||||
```
|
||||
|
||||
## `Eigen_Jacobi(matrix, eigen_values, eigen_vectors)`
|
||||
|
||||
声明:function
|
||||
|
||||
用 Jacobi 方法计算矩阵特征值和特征向量
|
||||
|
||||
<!-- tags: 计算 求解 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ----- | ---------------- |
|
||||
| `matrix` | array | 待分解矩阵 |
|
||||
| `eigen_values` | any | 接收特征值数组 |
|
||||
| `eigen_vectors` | any | 接收特征向量矩阵 |
|
||||
|
||||
返回:void
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
matrix := array((2.0, 1.0), (1.0, 2.0));
|
||||
eigen_values := array();
|
||||
eigen_vectors := array();
|
||||
Eigen_Jacobi(matrix, eigen_values, eigen_vectors);
|
||||
return array(eigen_values, eigen_vectors);
|
||||
// 输出:返回特征值数组和特征向量矩阵
|
||||
```
|
||||
|
||||
## `isDefinite(h)`
|
||||
|
||||
声明:function
|
||||
|
||||
判断矩阵是否正定、半正定,采用 Cholesky 分解方法
|
||||
|
||||
<!-- tags: 判断 检查 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ---------- |
|
||||
| `h` | array | array 样本 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
x := array((3, 1), (1, 4));
|
||||
return isDefinite(x); // 输出:1
|
||||
```
|
||||
|
||||
## `isSymmetry(a, tol)`
|
||||
|
||||
声明:function
|
||||
|
||||
判断是否为对称矩阵
|
||||
|
||||
<!-- tags: 判断 检查 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ----- | -------------- |
|
||||
| `a` | array | array 二维数组 |
|
||||
| `tol` | real | real 精度 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
a := array((2, 1), (1, 3));
|
||||
return isSymmetry(a, 0.1); // 输出:1
|
||||
```
|
||||
|
||||
## `norm2(a, flag)`
|
||||
|
||||
声明:function
|
||||
|
||||
范数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ----------------- |
|
||||
| `a` | array | 二维数字数组 样本 |
|
||||
| `flag` | string | string 范数类型 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
a := array((2, 1), (1, 3));
|
||||
return norm2(a, 'inf'); // 输出:4
|
||||
```
|
||||
|
||||
## `orth(a)`
|
||||
|
||||
声明:function
|
||||
|
||||
矩阵范围内的标准正交基向量
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ------ |
|
||||
| `a` | array | 数组, |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 计算矩阵A的标准正交基
|
||||
a := array((0, 1), (1, 1), (1, 0));
|
||||
return orth(a);
|
||||
```
|
||||
|
||||
## `pinv(a, t)`
|
||||
|
||||
声明:function
|
||||
|
||||
伪逆
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | --------------------------------------- |
|
||||
| `a` | array | array 矩阵 |
|
||||
| `t` | real | real 精度 默认为 2.220446049250313e-016 |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
x := array((9, 1), (-1, 0), (0, 2), (1, 1));
|
||||
return pinv(x);
|
||||
```
|
||||
|
||||
## `reIndex2(data, flag)`
|
||||
|
||||
声明:function
|
||||
|
||||
修改数组的行标或列名,主要用于字符串下标修改为数字下标等
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---------------- | ---- |
|
||||
| `data` | array,tablearray | |
|
||||
| `flag` | integer | |
|
||||
|
||||
返回:array,tablearray
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:将表列标改为数字
|
||||
|
||||
```tsl
|
||||
a := array('C': ('A': 1, 'B': 'too'), 'D': ('A': 2, 'B': 'two'));
|
||||
return reIndex2(a, 0);
|
||||
```
|
||||
|
||||
范例02:将行列标作为首列首行
|
||||
|
||||
```tsl
|
||||
a := array('C': ('A': 1, 'B': 'too'), 'D': ('A': 2, 'B': 'two'));
|
||||
return reIndex2(a, 5);
|
||||
```
|
||||
|
||||
## `roots(p)`
|
||||
|
||||
声明:function
|
||||
|
||||
一元n次方程求根
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ------------ |
|
||||
| `p` | array | array 多项式 |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 求根:3x^3+x^2+x^1+0^0=0
|
||||
return roots(array(0, 1, 1, 3));
|
||||
```
|
||||
|
||||
## `Standarize_II(sample, leib)`
|
||||
|
||||
声明:function
|
||||
|
||||
数据预处理,对二维数字数组进行标准化化处理;行:样本个数;列:因子个数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ----- | ----------------- |
|
||||
| `sample` | array | 二维数字数组 样本 |
|
||||
| `leib` | any | Int 标准化类型 |
|
||||
|
||||
返回:array
|
||||
Reference in New Issue
Block a user