vbMatrix
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| SG | 1 | 矩阵的满秩分解Math_Matrinx_SG,把矩阵K分解成一种行满秩Return_m 是m*r与列满秩的矩阵Return_n是r*n.返回值为r.r是其秩 |
| Pinv | 1 | 矩阵的广义逆A+ ,返回m*n矩阵Return_K(,)的m。此广义逆是Moore-Penrose A+逆 |
| Pinv2 | 1 | 矩阵的广义逆A-,函数执行成功返回Ret的行数,出错返回0 |
| GetRank | 1 | 矩阵求秩,函数执行成功返回秩的大小 |
| QR | 1 | 方阵的QR分解 |
| Schmidt | 1 | 矩阵施密特(Schmidt)正交规范化 |
| EigenValue | 1 | 方阵求特征值 |
| Hessenberg | 1 | 将方阵化为上(Hessenberg)矩阵,函数成功返回Ret的阶数 |
| SvdSplit | 1 | 对矩阵A进行奇异值分解 |
| Cramer22 | 1 | 求Kx=B的最小二乘解 |
| Det2 | 1 | 求行列式 |
| SPD | 1 | 矩阵正规、对称、正定性判断 |
| LLt | 1 | 矩阵的LLt分解 |
| QR22 | 1 | 矩阵的QR分解 |
| QR2 | 1 | 矩阵的QR分解 |
| LU | 1 | 方阵LU分解 |
| Inv2 | 1 | 矩阵求逆 |
| DetF | 1 | 求行列式,函数执行成功返回其行列式大小.其原理是按行列式定义依次展开求解.不适合大于5阶的方阵,K的数组大小为N*N的,不然程序出错 |
| Inv | 1 | 矩阵求逆 |
| Svd | 1 | 矩阵奇异值 |
| SymTridMatrix | 1 | 实对称阵化为对称三对角阵 |
| Adj | 1 | 矩阵伴随矩阵 |
| Pow | 1 | 方阵求n次方 |
| PolyRoots2 | 1 | 求多项式复数根贝尔斯托(Bairstow)算法 |
| Cond | 1 | 矩阵范数Cond及 |
| Scatter | 1 | 构建散点图矩阵(Scatter GeneralMatrix) |
| PolyDivEx | 1 | 多项式除法 |
| EigTorF | 1 | 矩阵特征值获取特征值向量 |
| EigSym | 1 | 求对称方阵特征值 |
| Mul | 1 | 矩阵相乘 |
| Sqrt | 1 | 矩阵求平方根(sqrtm) |
| RU | 1 | 右极分解,即F=R*U |
| VR | 1 | 左极分解 |
| Hamiltonian | 1 | 构建哈密顿矩阵 |
| Lehmer | 1 | 构建Lehmer矩阵 |
| PolyMul | 1 | 多项式乘法 |
| PolyDiv | 1 | 多项式除法 |
| PolyMod | 1 | 多项式求余数 |
| IDFT | 1 | 离散傅里叶变换逆变换 |
| DFT | 1 | 离散傅里叶变换 |
| Orth | 1 | 求矩阵的一个正交基Orth |
| Magic | 1 | 幻方 |
| Sove2 | 1 | 高斯全选主元素法解方程,本函数是求解AX=B这类问题的。函数采用全选主元素的高斯消元法,对于出现非满秩矩阵时(A的化简过程中的A), 只要函数有解(可能不止一组解,此时只返回一组解),本函数都能返回其解 |
| PolyGCF | 1 | 多项式提取最大公因式 |
| PolyGCFCall | 1 | 求2个多项式的最大公因式Ret,A1为1*A1_n的矩阵,A2为1*A2_n的矩阵。函数执行后返回公因式Ret的大小 |
| Pascal | 1 | n阶帕斯卡(Pascal)矩阵 |
03 Members
矩阵的满秩分解Math_Matrinx_SG,把矩阵K分解成一种行满秩Return_m 是mr与列满秩的矩阵Return_n是rn.返回值为r.r是其秩
其中A为mn的矩阵,r为A的秩.即A=Return_MReturn_N.函数执行成功返回r(也就是其秩)
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 为要满秩分解的方阵 |
- 所求得的m*r矩阵
- 所求得的r*n矩阵
矩阵的广义逆A+ ,返回m*n矩阵Return_K(,)的m。此广义逆是Moore-Penrose A+逆
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 要求广义逆的矩阵 |
Return_K | GeneralMatrix | 求得的广义逆矩阵 |
函数执行成功返回m,其中m代表Return_K的行数
矩阵的广义逆A-,函数执行成功返回Ret的行数,出错返回0
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 要求广义逆的矩阵 |
Erro | Int16 | 误差控制参数 |
m | Int16 | 矩阵K的行数 |
Ret | GeneralMatrix | 求得的广义逆矩阵 |
Int16)矩阵求秩,函数执行成功返回秩的大小
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 要求秩的矩阵 |
[error] | Int16 | 误差控制参数 |
方阵的QR分解
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 要QR分解的矩阵,K必须是非奇异的n阶方阵 |
Q | GeneralMatrix | 分解后的Q矩阵 |
R | GeneralMatrix | 分解后的R矩阵 |
函数执行成功返回True,失败返回False
矩阵施密特(Schmidt)正交规范化
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 要施密特(Schmidt)正交规范化的矩阵 |
Ret | GeneralMatrix | 正交规范化后的矩阵 |
函数执行成功返回True,失败返回False
方阵求特征值
| Name | Type | Description |
|---|---|---|
K11 | GeneralMatrix | 要求特征值的方阵 |
n | Int16 | 方阵K1的阶数 |
LoopNumber | Int16 | 循环次数 |
errors | Int16 | 误差控制变量 |
Ret | GeneralMatrix | 返回的特征值,Ret是是n*2的数组,第一列是实数部分,第2列为虚数部分 |
IsHess | Boolean | K1是否已经是上Hessenberg矩阵 |
将方阵化为上(Hessenberg)矩阵,函数成功返回Ret的阶数
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 要化为上(Hessenberg)矩阵的矩阵 |
n | Int16 | 为方阵A的阶数 |
ret | GeneralMatrix | 化为上(Hessenberg)矩阵后的矩阵 |
函数成功返回Ret的阶数
对矩阵A进行奇异值分解
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 目标矩阵 |
m | Int16 | A矩阵的行数 |
V | GeneralMatrix | 分解得到的一个V矩阵 |
V_m | Int16 | V矩阵的行数 |
S | GeneralMatrix | 分解得到的一个S矩阵 |
S_m | Int16 | S矩阵的行数 |
U | GeneralMatrix | 分解得到的一个U矩阵 |
U_m | Int16 | U矩阵的行数 |
求Kx=B的最小二乘解
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 是x的系数矩阵 |
B | GeneralMatrix | 是等式右边的常数矩阵 |
k_m | Int32 | 矩阵K的行数 |
x | GeneralMatrix | 求解得到的解 |
Int32)求行列式
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | 所求的n阶方阵 |
N | Int32 | 方阵K的阶数 |
函数成功返回其行列式的大小
矩阵正规、对称、正定性判断
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 为要判断的矩阵 |
函数返回-1矩阵非对称矩阵,返回0矩阵不正定,返回1矩阵正定
矩阵的LLt分解
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 要进行LLt分解的方阵 |
L | GeneralMatrix | 分解得到的L方阵 |
is1_是否已经正定 | Boolean | - |
函数成功返回True,失败返回False.(其中Lt是L的转置,即分解后 A=L×Lt)
矩阵的QR分解
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 要QR分解的矩阵(不一定是方阵) |
Q | GeneralMatrix | 分解得到的Q矩阵 |
R | GeneralMatrix | 分解得到的R矩阵 |
Q_n | Int16 | 返回Q矩阵的列数 |
R_n | Int16 | 返回R矩阵的列数 |
矩阵的QR分解
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 要QR分解的矩阵(不一定是方阵) |
Q | GeneralMatrix | 分解得到的Q矩阵 |
R | GeneralMatrix | 分解得到的R矩阵 |
Q_n | Int16 | 返回Q矩阵的列数 |
R_n | Int16 | 返回R矩阵的列数 |
函数成功返回True,失败返回False.使用本函数时,A矩阵的行数不能小于列数
方阵LU分解
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 为要LU分解的方阵 |
n | Int16 | 方阵K的阶数 |
L | GeneralMatrix | 为分解得到的L矩阵 |
U | GeneralMatrix | 为分解得到的U矩阵 |
其意义是K=LU.函数执行成功返回True,失败返回False
矩阵求逆
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 目标方阵 |
Return_K | GeneralMatrix | 求得的逆矩阵 |
N | Int32 | 方阵K的阶数 |
Int32)求行列式,函数执行成功返回其行列式大小.其原理是按行列式定义依次展开求解.不适合大于5阶的方阵,K的数组大小为N*N的,不然程序出错
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | 为n阶方阵 |
N | Int32 | 为矩阵A的阶数 |
矩阵求逆
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 为要求逆的方阵 |
Return_K | GeneralMatrix | 为所求得的逆 |
矩阵奇异值
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 为目的矩阵 |
m | Int16 | 为A矩阵的行数 |
Ret | GeneralMatrix | 获取到的奇异值矩阵,即返回的Ret是m*1的矩阵 |
函数执行成功返回奇异值的个数,即Ret的行数,失败返回-1
实对称阵化为对称三对角阵
本函数采用用豪斯赫尔蒙德变换将实对称阵化为对称三对角
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 目标方阵 |
n | Int16 | 方阵A的阶数 |
Is对称 | Boolean | 不确定是否对称直接填False,对称则直接填True |
ret | GeneralMatrix | 返回的三对角阵 |
矩阵伴随矩阵
函数采用求代数余子式的方式进行求解,这样就存在一个问题,当目标矩阵的阶数很大的时候,本函数效率是相当慢的。 建议使用左连翠提出的《伴随矩阵的新求法》里的方法进行求解。里面的方法可以求解非满秩矩阵的伴随矩阵。
| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 目标方阵 |
n | Int16 | 方阵K的阶数 |
Ret | GeneralMatrix | 获得的伴随矩阵 |
方阵求n次方
注意,本代码没有采用特征值法。而是直接采用2个矩阵相乘的方法(但又不是老老实实地去乘n次),因为用程序去求一个方阵的特征值, 可能运算复杂度超过了你直接对矩阵相乘的复杂度,至少在n在1000以内大概是这样。
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 目标方阵 |
m | Int32 | 方阵A的阶数 |
n | Int32 | 方阵A要求的次方数 |
Ret | GeneralMatrix | 方阵A进行n次方后获得的返回值 |
求多项式复数根贝尔斯托(Bairstow)算法
对于多项式
f(x) = (x^2+2x+3)(x^2-5x+9)
= x^4-3x^3+2x^2+3x+27
则 A(0,0)=1, A(0,1)=-3, A(0,2)=2, A(0,3)=3, A(0,4)=27, A_n=5.
当执行下面的函数后,Ret是一个2×2的矩阵,即
Ret(0,0)=2,
Ret(0,1)=3,
Ret(0,0)的2对应于(x^2+2x+3)当中2x的2, Ret(0,1)的3对应于(x^2+2x+3)当中常系数的3.
用此函数前建议先把重根与实数根处理掉
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 多项式系数矩阵,为1*A_n的矩阵。A中的数据依次为多项式最高项系数,次高项系数……常数项系数 |
A_n | Int32 | A矩阵的列数或大小 |
LoopNumber | Int16 | 控制的循环次数 |
Erro | Int32 | 误差控制变量 |
ret | GeneralMatrix | 返回的一个n*2的矩阵 |
函数执行完毕返回Ret的行数
Int32)矩阵范数Cond及
函数运行原理是先求矩阵的奇异值,然后用最大的奇异值除以最小的奇异值即得矩阵的范数.对于只有1行或者1列的还得另行处理.这个函数和Matlab的Cond命令一样,即2范数
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | 目标矩阵 |
m | Int32 | 矩阵的行数 |
构建散点图矩阵(Scatter GeneralMatrix)
| Name | Type | Description |
|---|---|---|
X | GeneralMatrix | 目标矩阵 |
m | Int32 | X矩阵的行数 |
S | GeneralMatrix | 获得的散点矩阵 |
多项式除法
A1/A2=Ret……RetMod
| Name | Type | Description |
|---|---|---|
A1 | GeneralMatrix | 被除数存储多项式系数 |
A2 | GeneralMatrix | 除数存储多项式系数 |
RetMod | GeneralMatrix | 求得的余数多项式系数 |
Ret | GeneralMatrix | 求得的多项式商系数 |
Erro | Int32 | 误差控制参数 |
矩阵特征值获取特征值向量
函数原理:已知方阵A的一个特征值为r,则求解方程组(A-rE)X=0的解X即为我们的一个特征向量(这里E为单位矩阵), 我们下面采用的是全选主元素法求解.但是需要注意的是,由于这个方程组是非满秩矩阵,因此在最后处理解的时候,我们 总是令X解中的一个量为1(当然,你可以设置为其它数,建议设置为非0的数据),然后根据这个量导出其它的量
例子:
a =
[ -1.0000000000000 0.00000000000000 0.00000000000000
8.00000000000000 2.00000000000000 4.00000000000000
8.00000000000000 3.00000000000000 3.00000000000000 ]
Math_Matrix_EigTor(a,3,6,x)'上面矩阵a的一个特征值为6,则我们执行如下的命令后求得6的特征向量x如下
x =
[ 0.00000000000000
1.00000000000000
1.00000000000000 ]| Name | Type | Description |
|---|---|---|
A1 | GeneralMatrix | 目标方阵 |
A_m | Int32 | 矩阵A的行数 |
EigValve | Double | 方阵A的一个特征值 |
X | GeneralMatrix | 函数执行成功后得到的一个特征向量 |
求对称方阵特征值
本代码采用雅可比过关法求解
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | 对称方阵 |
n | Int16 | 方阵A的阶数 |
Erro1 | Int16 | 误差控制变量 |
Ret | GeneralMatrix | 返回的特征值 |
Ret_Eigenvectors | GeneralMatrix | 返回的特征值对应的特征向量 |
矩阵相乘
| Name | Type | Description |
|---|---|---|
K1 | GeneralMatrix | K1为矩阵乘法中左边的矩阵 |
K2 | GeneralMatrix | 为矩阵乘法中右边的矩阵 |
n | Int32 | 代表K1的列数,K2的行数 |
Return_K | GeneralMatrix | 执行成功后返回的乘的结果的矩阵 |
矩阵求平方根(sqrtm)
如果K可以化成K=Inv(P)diag(R)P,其中Inv(P)表示P的逆矩阵,diag(R)为K的特征值组成的对角矩阵, 那么ks=Inv(P)diag(R^0.5)P,根据对角化原理,PK*Inv(P)=Diag(R),其中Inv(P)是特征值R对应于K 的特征向量,因此我们的算法=求特征值R,如果所有R均为正实数,则求R对应的特征向量Inv(P),然后讲R每 个值取根放入对角矩阵对结果相乘即可
例子:
c =
[ 192.291902022941 136.423323830855 -22.2582056347830 10.9878603820001
-176.869155076020 -120.047935463800 20.4023293672721 -16.5962890811120
-21.6722775306690 -60.5101175154120 135.025037886378 5.36535497517843
31.2279467353500 93.4954928282741 -106.961070363850 59.2865617399033 ]
Math_Matrix_Sqrt(a,4,x)'求a平方根如下,可以进行x*x进行验证
x =
[ 18.0067271094031 10.1514259204440 -0.80764239842560 0.96148324464486
-13.6679053566890 -5.69822839694800 0.61394536284630 -1.38430646207250
-3.17102914065820 -5.10751280313280 11.6191076697081 0.04254172112235
4.81532683312183 7.92820343443191 -5.38805756370240 8.16305909603188 ]| Name | Type | Description |
|---|---|---|
K | GeneralMatrix | 目标方阵 |
n | Int32 | 方阵K的阶数 |
ks | GeneralMatrix | 求得的平方根.即ks*ks=K |
右极分解,即F=R*U
原理:任何一个可逆方阵均可以唯一的进行右极分解与左极分解,即F=RU=VR,其中U^2=T(F)F,V^2=FT(F) 【其中T(F)表示F的转置】,则我们可以先通过F求得U或V,然后求R=FInv(U)=Inv(V)F
例子: a = [ 67.5919611787386 69.8554906388072 38.8768396987006 89.3106376236820 17.0671848194055 1.12767200969517 31.5601159499772 96.9140055109346 40.6681714768839 51.0876563615574 86.9885893943666 77.3506165842296 73.6101518727886 87.9281915202402 23.9508483670423 3.45968334165387 ]
Math_Matrix_RU(a,4,r,u)'进行右极分解得到如下结果 r = [ -0.01806739003090 0.71913865214108 -0.27739456376250 0.63664949766408 0.45823822484909 -0.57214688695250 0.04612554269224 0.67904624212867 -0.09675742692290 0.20970810955629 0.95672796354849 0.17708590026142 0.88326786307616 0.33437989881145 0.07527225185216 -0.31939364294910 ] u = [ 67.6841644139219 71.9849022272286 26.4791752992667 38.3171883770002 71.9863924990090 89.6984480926248 36.1676400008128 26.2017432919420 26.4820423188876 36.1668446729677 75.6890493922576 53.9420595009903 38.3140405638833 26.2042694530458 53.9408769958847 135.276124831623 ]
Math_Matrix_VR(a,4,v,r)'进行左极分解得到如下结果 v = [ 95.0902981485406 53.4500420292151 61.1182769307013 57.4613130458042 53.4438098825046 74.4408296746995 45.9449363126334 -13.1234428571640 61.1187415068155 45.9418557217637 103.699821171875 34.8450484220080 57.4619847804705 -13.1244040926920 34.8441839555448 95.1168377384350 ] r = [ -0.01835015300540 0.71939575068999 -0.27678823268990 0.63628327754090 0.45799761221593 -0.57191020194030 0.04534571824682 0.67953103744654 -0.09684035444340 0.20977163011655 0.95676617484504 0.17707600892713 0.88364856259618 0.33406264059053 0.07478222238892 -0.31912379017620 ]
| Name | Type | Description |
|---|---|---|
F | GeneralMatrix | 目标方阵 |
n | Int32 | 方阵F的阶数 |
R | GeneralMatrix | 分解得到的一个正交矩阵 |
U | GeneralMatrix | 分解得到的一个对称正定矩阵 |
左极分解
| Name | Type | Description |
|---|---|---|
F | GeneralMatrix | 目标方阵 |
n | Int32 | 方阵F的阶数 |
V | GeneralMatrix | 分解得到的一个对称正定矩阵 |
R | GeneralMatrix | 分解得到的一个正交矩阵,即F=V*R |
构建哈密顿矩阵
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | m阶的对称矩阵 |
m | Int32 | 矩阵k的行数 |
ret | GeneralMatrix | 获得的关于矩阵K的Hamiltonian矩阵 |
Int32, GeneralMatrix)构建Lehmer矩阵
Lehmer GeneralMatrix
| Name | Type | Description |
|---|---|---|
n | Int32 | 构建Lehmer矩阵的阶数 |
k | GeneralMatrix | 构建的Lehmer矩阵 |
多项式乘法
Ret=Mul1*Mul2
| Name | Type | Description |
|---|---|---|
Mul1 | GeneralMatrix | 乘数多项式系数 |
Mul2 | GeneralMatrix | 乘数多项式系数 |
Ret | GeneralMatrix | 获得的乘积结果多项式系数 |
多项式除法
A1/A2=Ret……RetMod
| Name | Type | Description |
|---|---|---|
A1 | GeneralMatrix | 被除数存储多项式系数 |
A2 | GeneralMatrix | 除数存储多项式系数 |
RetMod | GeneralMatrix | 求得的余数多项式系数 |
Ret | GeneralMatrix | 求得的多项式商系数 |
Erro | Int32 | 误差控制参数 |
多项式的除法,里边的数组均为1*n的矩阵,原理:A1/A2=Ret……RetMod'函数最终返回Ret商的数组大小
多项式求余数
A1%A2=Ret
| Name | Type | Description |
|---|---|---|
A1 | GeneralMatrix | 被除数多项式系数 |
A2 | GeneralMatrix | 除数多项式系数 |
Ret | GeneralMatrix | 求得的余数多项式系数 |
Erro | Int32 | 误差控制参数 |
离散傅里叶变换逆变换
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | m*2的矩阵数据(数据点)K里的第一列代表数据的实数部分,第2列代表数据的虚数部分 |
m | Int32 | 矩阵k的行数 |
Number | Int32 | 离散点数 |
X | GeneralMatrix | 离散傅里叶变换逆变换的结果矩阵是Number*2的矩阵,X里的第一列代表数据的实数部分,第2列代表数据的虚数部分 |
本函数执行成功返回True.本函数相当于Matlab的快速傅里叶变换逆变换函数IFFT
离散傅里叶变换
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | m*2的矩阵数据(数据点)K里的第一列代表数据的实数部分,第2列代表数据的虚数部分 |
m | Int32 | 矩阵k的行数 |
Number | Int32 | 离散点数 |
X | GeneralMatrix | 离散傅里叶变换的结果矩阵是Number*2的矩阵,X里的第一列代表数据的实数部分,第2列代表数据的虚数部分 |
本函数执行成功返回True.本函数相当于Matlab的快速傅里叶变换函数FFT
求矩阵的一个正交基Orth
对矩阵进行svd分解即用SvdSplit得到k=usv,则s是奇异值矩阵,可以奇异值是否为0获得矩阵的秩r,然后ret就是mr的矩阵且其就是u里的m*r的部分值
| Name | Type | Description |
|---|---|---|
k | GeneralMatrix | 目标矩阵 |
m | Int32 | k的行数 |
ret | GeneralMatrix | 获得的一个正交基矩阵 |
函数失败返回小于1的数据,成功返回ret的行数
幻方
| Name | Type | Description |
|---|---|---|
n | Int32 | 幻方的阶数(大于2) |
start | Double | 幻方的中最小的正整数,一般可以设置为1 |
k | GeneralMatrix | 获得的幻方 |
高斯全选主元素法解方程,本函数是求解AX=B这类问题的。函数采用全选主元素的高斯消元法,对于出现非满秩矩阵时(A的化简过程中的A), 只要函数有解(可能不止一组解,此时只返回一组解),本函数都能返回其解
例子: a = [ 89.7234413259306 12.9170338217714 79.9443395249286 78.1627263772128 62.8960442556516 63.9951517172135 2.9257326400493 57.119458800703 83.5902038885235 55.9411662425572 89.4671598865963 33.7297967792162 ]
b = [ 65.2027291083721 54.2041894766522 63.722165657078 ]
经过本函数后得到的解如下 x = [ -0.826689550370445 0.737377350436936 0.646558671079671 1 ]
即AX=B
| Name | Type | Description |
|---|---|---|
A | GeneralMatrix | A_m*n的矩阵 |
b | GeneralMatrix | B_m*1的矩阵 |
A_m | Int32 | - |
B_m | Int32 | - |
X | GeneralMatrix | 求解得到的矩阵 |
多项式提取最大公因式
| Name | Type | Description |
|---|---|---|
A1 | GeneralMatrix | 1*A1_n的存储多项式系数的矩阵 |
A1_n | Int32 | A1的列数 |
A2 | GeneralMatrix | 为1*A2_n的存储多项式系数的矩阵 |
A2_n | Int32 | A2的列数 |
Ret | GeneralMatrix | 获得的最大公因式多项式系数 |
Erro | Int32 | 误差控制参数 |
求2个多项式的最大公因式Ret,A1为1A1_n的矩阵,A2为1A2_n的矩阵。函数执行后返回公因式Ret的大小
| Name | Type | Description |
|---|---|---|
A1 | GeneralMatrix | - |
A1_n | Int32 | - |
A2 | GeneralMatrix | - |
A2_n | Int32 | - |
Ret | GeneralMatrix | - |
Erro | Int32 | - |
Int32, GeneralMatrix)n阶帕斯卡(Pascal)矩阵
Pascal GeneralMatrix即产生n阶的帕斯卡矩阵由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵
| Name | Type | Description |
|---|---|---|
n | Int32 | 表示产生帕斯卡(Pascal)矩阵的阶数 |
k | GeneralMatrix | 产生的n阶帕斯卡(Pascal)矩阵 |