Documentation ¶
Overview ¶
numgo project numgo.go
numgo project numgo.go
numgo document
numgo project numgo.go
Index ¶
- Constants
- func ComplexAddReal(r float64, cmp complex128) complex128
- func ComplexAngle(cmp complex128) float64
- func ComplexConjugate(cmp complex128) complex128
- func ComplexDivByReal(r float64, cmp complex128) complex128
- func ComplexMulReal(r float64, cmp complex128) complex128
- func ComplexSubByReal(r float64, cmp complex128) complex128
- func ComplexSubReal(r float64, cmp complex128) complex128
- func ComplexsIsEqual(a, b complex128) bool
- func Real2Complex(a float64) complex128
- func UnitRoot(n, k int, inv ...int) complex128
- type Array
- func (a Array) AddArray(b Array) (Array, error)
- func (data Array) AddScalar(scalar float64)
- func (data Array) Average() float64
- func (arr Array) BubbleSort(confg ...bool) Array
- func (data Array) CalcAdvangceStatistic() (avg, sd, std, se, ske, kur float64)
- func (a Array) Companion() (Matrix, error)
- func (arr Array) Copy() Array
- func (data Array) Cv() (cv float64)
- func (a Array) DivArray(b Array) (Array, error)
- func (data Array) DivByScalar(scalar float64)
- func (data Array) DivScalar(scalar float64)
- func (a Array) Fft(inv ...bool) Array
- func (data Array) Group(umin, umax float64, grp ...int) (float64, Array, map[string]float64)
- func (a Array) IsAllZero() bool
- func (a Array) IsEqual(b Array) bool
- func (data Array) Kur() (kur float64)
- func (arr Array) Max() float64
- func (arr Array) Mean() float64
- func (data Array) Median() float64
- func (data Array) Midrange() float64
- func (arr Array) Min() float64
- func (data Array) Mode(grp ...int) (float64, float64, map[string]float64)
- func (data Array) MoveWindowFilter(n int, fillvlue ...string) Array
- func (a Array) MulArray(b Array) (Array, error)
- func (data Array) MulScalar(scalar float64)
- func (seq_of_zeros Array) Poly() (Array, error)
- func (X Array) Polynominal() Matrix
- func (arr Array) Product() float64
- func (data Array) Quartile(q int, group ...int) float64
- func (data Array) Quartiles(group ...int) (Lower, Q1, Q2, Q3, Upper, IQR float64)
- func (data Array) Range() float64
- func (a Array) Reverse()
- func (data Array) Sd() (sd float64)
- func (data Array) Se() (se float64)
- func (data Array) Ske() (ske float64)
- func (data Array) Std() (std float64)
- func (a Array) SubArray(b Array) (Array, error)
- func (data Array) SubByScalar(scalar float64)
- func (data Array) SubScalar(scalar float64)
- func (arr Array) Sum() float64
- func (a Array) Swap(k1, k2 int)
- func (data Array) Variance() float64
- type ComplexArray
- func (cmps ComplexArray) Abs() Array
- func (cmps ComplexArray) AddReal(r float64, inplace ...bool) ComplexArray
- func (cmps ComplexArray) Angle() Array
- func (cmps ComplexArray) Conjugate(inplace ...bool) ComplexArray
- func (cmps ComplexArray) Copy() ComplexArray
- func (cmps ComplexArray) Div(b ComplexArray, inplace ...bool) ComplexArray
- func (cmps ComplexArray) DivByReal(r float64, inplace ...bool) ComplexArray
- func (cmps ComplexArray) Fft(args ...bool) ComplexArray
- func (cmps ComplexArray) IsAllReal() bool
- func (a ComplexArray) IsAllZero() bool
- func (a ComplexArray) IsEqual(b ComplexArray) bool
- func (cmps ComplexArray) MulReal(r float64, inplace ...bool) ComplexArray
- func (seq_of_zeros ComplexArray) Poly() (ComplexArray, error)
- func (X ComplexArray) Polynominal() ComplexMatrix
- func (cmps ComplexArray) Prod() complex128
- func (cmps ComplexArray) RealCopy() Array
- func (cmps ComplexArray) SubByReal(r float64, inplace ...bool) ComplexArray
- func (a ComplexArray) Swap(k1, k2 int)
- type ComplexMatrix
- func (cmpm ComplexMatrix) Abs() Matrix
- func (ma ComplexMatrix) Add(mb ComplexMatrix) (ComplexMatrix, error)
- func (cmpm ComplexMatrix) Angle() Matrix
- func (m ComplexMatrix) Cols() int
- func (cmpm ComplexMatrix) Conjugate(inplace ...bool) ComplexMatrix
- func (mat ComplexMatrix) Copy() ComplexMatrix
- func (m ComplexMatrix) ElemTransRowMulK(r int, k complex128)
- func (m ComplexMatrix) ElemTransRowMulKAddToRow(r1, r2 int, k complex128)
- func (m ComplexMatrix) ElemTransRowSwap(r1, r2 int)
- func (m ComplexMatrix) Inverse() (ComplexMatrix, error)
- func (a ComplexMatrix) IsEqual(b ComplexMatrix) bool
- func (m ComplexMatrix) IsSquareMatix() bool
- func (m ComplexMatrix) LeftSquare2Identity(confg ...bool) (ComplexMatrix, error)
- func (m ComplexMatrix) LeftSquare2Triu(confg ...bool) (ComplexMatrix, error)
- func (m ComplexMatrix) MeanRow() []complex128
- func (ma ComplexMatrix) Mul(mb ComplexMatrix) (ComplexMatrix, error)
- func (m ComplexMatrix) MulScalar(scalar complex128)
- func (m ComplexMatrix) Print(title ...string)
- func (m ComplexMatrix) Rows() int
- func (m ComplexMatrix) RowsAndCols() (rows, cols int)
- func (ma ComplexMatrix) Sub(mb ComplexMatrix) (ComplexMatrix, error)
- func (m ComplexMatrix) SubFromIdentityMatrix() (ComplexMatrix, error)
- func (m ComplexMatrix) SumRow() []complex128
- func (m ComplexMatrix) Transpose() ComplexMatrix
- type Matrix
- func (ma Matrix) Add(mb Matrix) (Matrix, error)
- func (m Matrix) Cols() int
- func (mat Matrix) Copy() Matrix
- func (m Matrix) ElemTransRowMulK(r int, k float64)
- func (m Matrix) ElemTransRowMulKAddToRow(r1, r2 int, k float64)
- func (m Matrix) ElemTransRowSwap(r1, r2 int)
- func (m Matrix) Inverse() (Matrix, error)
- func (a Matrix) IsEqual(b Matrix) bool
- func (m Matrix) IsSquareMatix() bool
- func (m Matrix) LeftSquare2Identity(confg ...bool) (Matrix, error)
- func (m Matrix) LeftSquare2Triu(confg ...bool) (Matrix, error)
- func (m Matrix) MeanRow() []float64
- func (ma Matrix) Mul(mb Matrix) (Matrix, error)
- func (m Matrix) MulScalar(scalar float64)
- func (m Matrix) Print(title ...string)
- func (m Matrix) Rows() int
- func (m Matrix) RowsAndCols() (rows, cols int)
- func (ma Matrix) Sub(mb Matrix) (Matrix, error)
- func (m Matrix) SubFromIdentityMatrix() (Matrix, error)
- func (m Matrix) SumRow() []float64
- func (m Matrix) Transpose() Matrix
Constants ¶
const (
PI = 3.141592653589793
)
Variables ¶
This section is empty.
Functions ¶
func ComplexAddReal ¶
func ComplexAddReal(r float64, cmp complex128) complex128
********************************************** 功能:复数加上一个实数 输入:
r:float64:实数 cmp:complex128:复数
输出:
complex128;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexAngle ¶
func ComplexAngle(cmp complex128) float64
********************************************** 功能:返回复数的角度(主值) 输入:
cmp:complex128 复数
输出:
float64,角度的主值
说明:复数Z=a+bi化成三角式r(cosθ+isinθ),可简写作r∠θ,
其中模(绝对值)r=√(a²+b²);复角θ由tanθ=b/a解出并在0≤θ<360°范围内取值(主值)
编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexConjugate ¶
func ComplexConjugate(cmp complex128) complex128
********************************************** 功能:返回复数的共轭复数 输入:
cmp:complex128 复数
输出:
complex128
说明:复数 a+ib 的共轭复数是 a-ib 编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexDivByReal ¶
func ComplexDivByReal(r float64, cmp complex128) complex128
********************************************** 功能:实数除以一个复数 输入:
r:float64:实数 cmp:complex128:复数
输出:
complex128;复数
说明:如果被除数为0,输出结果为0 编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexMulReal ¶
func ComplexMulReal(r float64, cmp complex128) complex128
********************************************** 功能:实数乘以一个复数 输入:
r:float64:实数 cmp:complex128:复数
输出:
complex128;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexSubByReal ¶
func ComplexSubByReal(r float64, cmp complex128) complex128
********************************************** 功能:实数减去一个复数 输入:
r:float64:实数 cmp:complex128:复数
输出:
complex128;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexSubReal ¶
func ComplexSubReal(r float64, cmp complex128) complex128
********************************************** 功能:复数减去一个实数 输入:
r:float64:实数 cmp:complex128:复数
输出:
complex128;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func ComplexsIsEqual ¶
func ComplexsIsEqual(a, b complex128) bool
********************************************** 功能:比较两个复数是否相等 输入:
a,b:complex128:复数
输出:
如果两个复数的实部和虚部都相等,返回true,否则返回false
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func Real2Complex ¶
func Real2Complex(a float64) complex128
********************************************** 功能:实数转换为复数 输入:
a:float64 实数
输出:
complex128
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func UnitRoot ¶
func UnitRoot(n, k int, inv ...int) complex128
********************************************** 功能:单位根 输入:n,k int
inv int:可选,用于对单位根取共轭。-1或者1,不填写时默认为1
输出:
complex128,单位根
说明:单位根指模为1的根,一般的x的n个单位根可以表示为:x=cos(2*pi*k/n)+sin(2*pi*k/n)i,
其中:k=0,1,2,..,n-1,i是虚数单位
编辑:wang_jp 时间:2020年11月9日 **********************************************
Types ¶
type Array ¶
type Array []float64
func NewArray ¶
********************************************** 功能:初始化一个新数组 输入:n:数组的长度 输出:元素全为0的长度为n的数组 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) AddArray ¶
********************************************** 功能:数组加上另一个数组 输入:一个同维度的数组 输出: 说明:数组中的每个下标上对应的元素相加 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) AddScalar ¶
********************************************** 功能:每个元素都加上一个标量 输入:scalar:标量值 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Average ¶
********************************************** 功能:算术平均值 输入:无 输出:平均值 说明:当数据呈对称分布或接近对称分布时,均值、中位数、众数相等或接近相等,这时应选择均值作为集中
趋势的代表值,因为均值包含了全部数据的信息
编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) BubbleSort ¶
********************************************** 功能:冒泡排序 输入:confg[0] 顺序,false:从小到大(默认),true:从大到小
confg[1] 是否替换原数组,false:不替换,true:替换
输出:无 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) CalcAdvangceStatistic ¶
********************************************** 功能:高级统计功能 输入:待计算数组 输出:平均值、标准偏差、样本标准变差、标准差、偏度、峰度 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Companion ¶
********************************************** 功能: 生成伴随矩阵 输入: 无 输出: 数组的伴随矩阵(N-1 x N-1维度方阵)
伴随矩阵的第一行是:-a[1:]/a[0],第二行开始的对角线都是1,其余为0
说明: a 数组的长度N必须大于等于2,a[0]必须非0 编辑: wang_jp 时间: 2020年10月15日 **********************************************
func (Array) Copy ¶
********************************************** 功能:复制一个新的数组 输入:无 输出:Array;新的数组 说明: 编辑:wang_jp 时间:2020年10月20日 **********************************************
func (Array) Cv ¶
********************************************** 功能:变异系数 输入: 输出:变异系数 说明:变异系数,又称“离散系数”(英文:coefficient of variation),是概率分布离散程度的一个归一化量度,
其定义为标准差与平均值之比。变异系数也被称为标准离差率或单位风险
编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) DivArray ¶
********************************************** 功能:数组除以另一个数组 输入:一个同维度的数组 输出: 说明:数组中的每个下标上对应的元素相除,如果被除数元素为0,则结果元素为0 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) DivByScalar ¶
********************************************** 功能:每个(非零)元素都被一个标量除 输入:scalar:标量值 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) DivScalar ¶
********************************************** 功能:每个元素都除以一个标量 输入:scalar:标量值 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Fft ¶
********************************************** 功能:傅里叶变换 输入:inv ...bool:省略或者false:傅里叶变换;true:傅里叶逆变换 输出: 说明:尚未完成 编辑:wang_jp 时间:2020年11月09日 **********************************************
func (Array) Group ¶
********************************************** 功能:对数据进行分组 输入:umin, umax float64:用户自定义的最小和最大分组区间,
如果不使用自定义,请全部输入0.0 grp int:可选的分组数。 如果不输入分组数,数据长度0~30分为5组,30~300分为10组,300以上分为100组
输出:组距、分组Map1,分组Map2 说明:Map1以自然数为下标,以组内的数据量为内容
Map2以数据分组界限为下标,以组内数据量占数据总数的百分比为内容
编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) IsAllZero ¶
********************************************** 功能:数组中的元素是否全为零 输入: 输出:true or false 说明:数组中的元素全为0输出true,否则为false
空数组当成全为0的数组
编辑:wang_jp 时间:2020年10月20日 **********************************************
func (Array) IsEqual ¶
********************************************** 功能:两个数组是否相等 输入:数组B 输出:数组相等输出true,否则false 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Kur ¶
********************************************** 功能:峰度 输入: 输出:峰度 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Max ¶
******************************************** //功能:求最大值 //参数:无 //说明: //作者:wangjp //时间:2020年5月29日 *********************************************
func (Array) Mean ¶
******************************************** //功能:数组求平均 //参数:无 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (Array) Median ¶
********************************************** 功能:计算中位数 输入: 输出:中位数 说明:特别适用于偏态分布,对于对称分布也可以应用。对于偏态分部,是概率分布图最高峰所在位置。
数组长度必须大于2
编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Midrange ¶
********************************************** 功能:中程数 输入: 输出:中程数 说明:(最大值 + 最小值)/2 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Min ¶
******************************************** //功能:求最小值 //参数:无 //说明: //作者:wangjp //时间:2020年5月29日 *********************************************
func (Array) Mode ¶
********************************************** 功能:计算众数 输入:待计算数组,分组数量(不设置时根据数组长度自动分为10组或者100组) 输出:众数、组距、分组Map 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) MoveWindowFilter ¶
********************************************* //功能: 移动窗口滤波 //输入: n:int,滤波窗口长度,1<n<len(data) // fillvalue:string, 填充值方法{"mean","median"},省略时为"mean" //输出: //说明: n<=1或者n>len(data)时,不进行滤波,直接返回原数据 // "median"时,n必须大于2,否则用"mean"方法 //编辑: wangjp //时间: 2020年10月14日 *********************************************
func (Array) MulArray ¶
********************************************** 功能:数组乘以另一个数组 输入:一个同维度的数组 输出: 说明:数组中的每个下标上对应的元素相乘 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) MulScalar ¶
********************************************** 功能:每个元素都乘以一个标量 输入:scalar:标量值 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Poly ¶
********************************************** 功能:用给定的根序列求多项式的系数。 输入: 输出:c:Array,长度为N+1的矩阵,c[0]始终为1.0 说明:c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N]
对于给定的零序列,返回其前导系数为1的多项式的系数(序列中必须包含多个根是 其重数的许多倍)
编辑:wang_jp 时间:2020年10月20日 **********************************************
func (Array) Polynominal ¶
********************************************** 功能:将数组作为多项式的系数列出多项式的行列式 输入: 输出:Matrix,N x N+1的矩阵 说明:a[0] * x**(N) + a[1] * x**(N-1) + ... + a[N-1] * x + a[N]=0
上式中,c[0]始终为1,则可以转换为: a[1] * x**(N-1) + ... + a[N-1] * x + a[N]= - a[0] * x**(N) 输出的c矩阵为: x[0]**(N-1) x[0]**(N-2) ... x[0]**(1) x[0]**(0) -x[0]**(N) x[1]**(N-1) x[1]**(N-2) ... x[1]**(1) x[1]**(0) -x[1]**(N) ... ... ... ... ... x[N-1]**(N-1) x[N-1]**(N-2) ... x[N-1]**(1) x[N-1]**(0) -x[N-1]**(N) N 是输入数组的长度
编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Product ¶
******************************************** //功能:数组乘积 //参数:无 //说明: //作者:wangjp //时间:2020年5月29日 *********************************************
func (Array) Quartile ¶
********************************************** 功能:四分位数(quartile) 输入:[q int] 分位标记,可选-1、0、1、2、3、4,
-1:Qd,四分位差,Qd=Q3-Q1,亦写为IQR 0:Lower,箱型图最小值,lower=Q1-1.5*Qd 1:Q1,下四分位值 2:Q2,等于Median 3:Q3,上四分位值 4:Upper,箱型图的最大值,upper=Q3+1.5*Qd [group ...int] 可选的分组数,不选时采用数组长度自然分组
输出:四分位数 说明:将各个变量值按大小顺序排列,然后将此数列分成四等份
数组长度必须大于4
编辑:wang_jp 时间:2020年7月5日 **********************************************
func (Array) Quartiles ¶
********************************************** 功能:四分位数(quartiles) 输入:[group ...int] 可选的分组数,不选时采用数组长度自然分组 输出:
Lower:箱型图最小值,lower=Q1-1.5*Qd Q1:下四分位值 Q2:等于Median Q3:上四分位值 Upper:箱型图的最大值,upper=Q3+1.5*Qd IQR:四分位差,Qd=Q3-Q1,亦写为Qd
说明:数组长度必须大于4 编辑:wang_jp 时间:2020年8月26日 **********************************************
func (Array) Range ¶
********************************************** 功能:数据范围(极差或全距) 输入: 输出:数据范围 说明:最大值与最小值之间的差值,用于描述X的数字分散程度,越小则数字之间越紧密 编辑:wang_jp 时间:2019年12月6日 *********************************************
func (Array) Reverse ¶
func (a Array) Reverse()
********************************************** 功能:将数组反转 输入: 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Sd ¶
********************************************** 功能:标准差(均方差) 输入: 输出:标准差 说明:标准差(Standard Deviation) ,中文环境中又常称均方差,是离均差平方的算术平均数的平方根,
用σ表示。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。
编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Se ¶
********************************************** 功能:标准误差(Standard error) 输入: 输出:标准误差 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Ske ¶
********************************************** 功能:偏度 输入: 输出:偏度 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) Std ¶
********************************************** 功能:样本标准偏差 输入: 输出:样本标准偏差 编辑:wang_jp 时间:2019年12月6日 **********************************************
func (Array) SubArray ¶
********************************************** 功能:数组减去另一个数组 输入:一个同维度的数组 输出: 说明:数组中的每个下标上对应的元素相减 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) SubByScalar ¶
********************************************** 功能:每个元素都被一个标量减 输入:scalar:标量值 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) SubScalar ¶
********************************************** 功能:每个元素都减去一个标量 输入:scalar:标量值 输出: 说明: 编辑:wang_jp 时间:2020年10月15日 **********************************************
func (Array) Sum ¶
******************************************** //功能:数组求和 //参数:无 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
type ComplexArray ¶
type ComplexArray []complex128 //复数数组
func RealArr2ComplexsArr ¶
func RealArr2ComplexsArr(arr Array) ComplexArray
********************************************** 功能:实数数组转换为复数数组 输入:
arr:[]float64 实数
输出:
ComplexArray
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) Abs ¶
func (cmps ComplexArray) Abs() Array
********************************************** 功能:获取复数数组各个元素的模(绝对值) 输入: 输出:实数数组 编辑:wang_jp 时间:2020年10月21日 **********************************************
func (ComplexArray) AddReal ¶
func (cmps ComplexArray) AddReal(r float64, inplace ...bool) ComplexArray
********************************************** 功能:实数与一个复数数组中的每一个元素相加 输入:
r:float64:实数 cmps:ComplexArray:复数
输出:
ComplexArray;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) Angle ¶
func (cmps ComplexArray) Angle() Array
********************************************** 功能:获取复数数组各个元素的角度(主值) 输入: 输出:实数数组 说明:复数Z=a+bi化成三角式r(cosθ+jsinθ),可简写作r∠θ,
其中模(绝对值)r=√(a²+b²);复角θ由tanθ=b/a解出并在0≤θ<360°范围内取值(主值)
编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) Conjugate ¶
func (cmps ComplexArray) Conjugate(inplace ...bool) ComplexArray
********************************************** 功能:将数组中的所有元素取共轭 输入:inplace bool:是否更改原始数组 输出:所有元素共轭后的数组 说明:复数 a+ib 的共轭复数是 a-ib 编辑:wang_jp 时间:2020年10月21日 **********************************************
func (ComplexArray) Copy ¶
func (cmps ComplexArray) Copy() ComplexArray
********************************************** 功能:复制一个新的数组 输入:无 输出:ComplexArray;新的复数数组 说明: 编辑:wang_jp 时间:2020年10月20日 **********************************************
func (ComplexArray) Div ¶
func (cmps ComplexArray) Div(b ComplexArray, inplace ...bool) ComplexArray
********************************************** 功能:两个复数数组中的每一个元素相除 输入:
b:ComplexArray:复数 inplace:bool: 是否改变原始数据,true是,false否
输出:
ComplexArray;复数
说明:如果被除数组的实部和虚部都是0,则使结果元素等于被除数
如果两个数组的长度不相同,将短的扩展为长的 扩展被除数时,新扩展的元素为:0+0i 扩展除数时,新扩展的元素为:1+0i
编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) DivByReal ¶
func (cmps ComplexArray) DivByReal(r float64, inplace ...bool) ComplexArray
********************************************** 功能:实数除以一个复数数组中的每一个元素 输入:
r:float64:作为被除数的实数 inplace:bool: 是否改变原始数据,true是,false否
输出:
ComplexArray;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) Fft ¶
func (cmps ComplexArray) Fft(args ...bool) ComplexArray
********************************************** 功能:傅里叶变换 输入:args ...bool:可配置参数,
args[0]:inplace,true:改变源数组,false:不改变源数组.不填写时不改变源数组 args[1]:false:傅里叶变换,true:傅里叶逆变换.不填写时为傅里叶变换
输出: 说明: 编辑:wang_jp 时间:2020年11月09日 **********************************************
func (ComplexArray) IsAllReal ¶
func (cmps ComplexArray) IsAllReal() bool
********************************************** 功能:判断是否全为实数,即每个元素的虚部全为0 输入: 输出:是true,否false 编辑:wang_jp 时间:2020年10月21日 **********************************************
func (ComplexArray) IsAllZero ¶
func (a ComplexArray) IsAllZero() bool
********************************************** 功能:数组中的元素是否全为零 输入: 输出:true or false 说明:数组中的元素全为0输出true,否则为false
空数组当成全为0的数组
编辑:wang_jp 时间:2020年10月20日 **********************************************
func (ComplexArray) IsEqual ¶
func (a ComplexArray) IsEqual(b ComplexArray) bool
********************************************** 功能:比较两个复数数组是否相等 输入:
a,b:ComplexArray:复数数组切片
输出:
如果两个数组长度相等且每个元素的实部和虚部都相等,返回true,否则返回false
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) MulReal ¶
func (cmps ComplexArray) MulReal(r float64, inplace ...bool) ComplexArray
********************************************** 功能:复数数组元素同时乘以一个实数 输入:
r:float64;实数 inplace:bool: 是否改变原始数据,true是,false否
输出:
ComplexArray;复数数组
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) Poly ¶
func (seq_of_zeros ComplexArray) Poly() (ComplexArray, error)
********************************************** 功能:用给定的根序列求多项式的系数。 输入: 输出:c:ComplexArray,长度为N+1的矩阵,c[0]始终为1.0 说明:c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N]
对于给定的零序列,返回其前导系数为1的多项式的系数(序列中必须包含多个根是 其重数的许多倍)
编辑:wang_jp 时间:2020年10月20日 **********************************************
func (ComplexArray) Polynominal ¶
func (X ComplexArray) Polynominal() ComplexMatrix
********************************************** 功能:将数组作为多项式的系数列出多项式的行列式 输入: 输出:Matrix,N x N+1的矩阵 说明:a[0] * x**(N) + a[1] * x**(N-1) + ... + a[N-1] * x + a[N]=0
上式中,c[0]始终为1,则可以转换为: a[1] * x**(N-1) + ... + a[N-1] * x + a[N]= - a[0] * x**(N) 输出的c矩阵为: x[0]**(N-1) x[0]**(N-2) ... x[0]**(1) x[0]**(0) -x[0]**(N) x[1]**(N-1) x[1]**(N-2) ... x[1]**(1) x[1]**(0) -x[1]**(N) ... ... ... ... ... x[N-1]**(N-1) x[N-1]**(N-2) ... x[N-1]**(1) x[N-1]**(0) -x[N-1]**(N) N 是输入数组的长度
编辑:wang_jp 时间:2020年10月15日 **********************************************
func (ComplexArray) Prod ¶
func (cmps ComplexArray) Prod() complex128
********************************************** 功能:复数数组的乘积 输入:
cmps:ComplexArray:复数数组切片
输出:
complex128;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) RealCopy ¶
func (cmps ComplexArray) RealCopy() Array
********************************************** 功能:获取复数数组各个元素实部的副本 输入: 输出:实数数组 编辑:wang_jp 时间:2020年10月21日 **********************************************
func (ComplexArray) SubByReal ¶
func (cmps ComplexArray) SubByReal(r float64, inplace ...bool) ComplexArray
********************************************** 功能:实数与一个复数数组中的每一个元素相减 输入:
r:float64:作为除数的实数 inplace:bool: 是否改变原始数据,true是,false否
输出:
ComplexArray;复数
说明: 编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexArray) Swap ¶
func (a ComplexArray) Swap(k1, k2 int)
********************************************** 功能:交换两个元素 输入:k1,k2 int:需要交换的两个元素下标 输出: 说明: 编辑:wang_jp 时间:2020年11月09日 **********************************************
type ComplexMatrix ¶
type ComplexMatrix []ComplexArray //复数矩阵
func InitComplexMatrix ¶
func InitComplexMatrix(m, n int) ComplexMatrix
******************************************** //功能: 初始化一个新矩阵 //参数: m为行数,n为列数 //返回: m x n的矩阵,矩阵的元素全为0 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func InitComplexMatrixAsIdentity ¶
func InitComplexMatrixAsIdentity(n int) ComplexMatrix
******************************************** //功能:初始化输出n阶单位矩阵 //参数: 单位矩阵的阶数n //输出: n x n的单位矩阵 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) Abs ¶
func (cmpm ComplexMatrix) Abs() Matrix
********************************************** 功能:获取矩阵中各个元素的模(绝对值) 输入: 输出:实数矩阵 编辑:wang_jp 时间:2020年10月21日 **********************************************
func (ComplexMatrix) Add ¶
func (ma ComplexMatrix) Add(mb ComplexMatrix) (ComplexMatrix, error)
******************************************** //功能:两个矩阵相加 //参数:矩阵B //输出:矩阵的和,错误信息 //说明:两个矩阵都必须是m x n的矩阵,结果也是m x n的矩阵 //作者:wangjp //时间:2020年10月14日 *********************************************
func (ComplexMatrix) Angle ¶
func (cmpm ComplexMatrix) Angle() Matrix
********************************************** 功能:获取矩阵中各个元素的角度(主值) 输入: 输出:实数矩阵 说明:复数Z=a+bi化成三角式r(cosθ+jsinθ),可简写作r∠θ,
其中模(绝对值)r=√(a²+b²);复角θ由tanθ=b/a解出并在0≤θ<360°范围内取值(主值)
编辑:wang_jp 时间:2020年10月16日 **********************************************
func (ComplexMatrix) Cols ¶
func (m ComplexMatrix) Cols() int
******************************************** //功能: 获取矩阵的列数 //参数: 无 //返回: 矩阵列数 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (ComplexMatrix) Conjugate ¶
func (cmpm ComplexMatrix) Conjugate(inplace ...bool) ComplexMatrix
********************************************** 功能:将矩阵中的所有元素取共轭 输入:inplace bool:是否更改原始矩阵 输出:所有元素共轭后的矩阵 说明:复数 a+ib 的共轭复数是 a-ib 编辑:wang_jp 时间:2020年10月21日 **********************************************
func (ComplexMatrix) Copy ¶
func (mat ComplexMatrix) Copy() ComplexMatrix
******************************************** //功能:复制一个矩阵 //参数: //输出:新的矩阵 //说明: //作者:wangjp //时间:2020年10月19日 *********************************************
func (ComplexMatrix) ElemTransRowMulK ¶
func (m ComplexMatrix) ElemTransRowMulK(r int, k complex128)
******************************************** //功能:矩阵初等行变换(Elementary Transformation)-某行乘以常数 //参数: 行号r
需要乘的参数k
//说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) ElemTransRowMulKAddToRow ¶
func (m ComplexMatrix) ElemTransRowMulKAddToRow(r1, r2 int, k complex128)
******************************************** //功能:矩阵初等行变换(Elementary Transformation)-数k乘第 r2 行加到第 r1 行 //参数: 行号r1和r2
需要乘的参数k
//说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) ElemTransRowSwap ¶
func (m ComplexMatrix) ElemTransRowSwap(r1, r2 int)
******************************************** //功能:矩阵初等行变换(Elementary Transformation)-交换两行 //参数:两行的行号 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) Inverse ¶
func (m ComplexMatrix) Inverse() (ComplexMatrix, error)
******************************************** //功能:求矩阵的逆矩阵 //参数: //输出:矩阵的逆矩阵,状态(求逆矩阵成功true,不成功false) //说明:矩阵必须为方阵 //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) IsEqual ¶
func (a ComplexMatrix) IsEqual(b ComplexMatrix) bool
******************************************** //功能: 判断两个矩阵是否相等 //参数: 被比较的矩阵 //返回: 两个矩阵相同返回true,不同返回false //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (ComplexMatrix) IsSquareMatix ¶
func (m ComplexMatrix) IsSquareMatix() bool
******************************************** //功能: 是否方阵 //参数: 无 //返回: 如果是方阵(行和列相同),返回true,否则false //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (ComplexMatrix) LeftSquare2Identity ¶
func (m ComplexMatrix) LeftSquare2Identity(confg ...bool) (ComplexMatrix, error)
******************************************** //功能:进行初等行变换将矩阵左侧方阵部分转换为单位矩阵 //参数:confg[0]:true:替换原始矩阵,false:不替换原始矩阵 // confg[1]:true:矩阵不可逆时返回错误,false:矩阵不可逆时继续进行 //输出:左侧方阵转换为单位方阵的矩阵 //说明:矩阵的行数不可大于列数 //作者:wangjp //时间:2020年10月19日 *********************************************
func (ComplexMatrix) LeftSquare2Triu ¶
func (m ComplexMatrix) LeftSquare2Triu(confg ...bool) (ComplexMatrix, error)
******************************************** //功能:对矩阵进行初等行变换,对左侧方阵部分求上三角矩阵 //参数:confg[0]:true:替换原始矩阵,false:不替换原始矩阵 // confg[1]:true:矩阵不可逆时返回错误,false:矩阵不可逆时继续进行 //输出:上三角方阵 //说明:矩阵的行数不可大于列数 // 做行变换将左侧方阵部分转换为上三角阵 // 主对角线以下都是零的方阵称为上三角矩阵。 // 上三角矩阵具有行列式为对角线元素相乘、上三角矩阵乘以系数后也是上三角矩阵、 // 上三角矩阵间的加减法和乘法运算的结果仍是上三角矩阵等性质。 //作者:wangjp //时间:2020年10月19日 *********************************************
func (ComplexMatrix) MeanRow ¶
func (m ComplexMatrix) MeanRow() []complex128
******************************************** //功能:对矩阵的每行求平均 //参数:无 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) Mul ¶
func (ma ComplexMatrix) Mul(mb ComplexMatrix) (ComplexMatrix, error)
******************************************** //功能:求矩阵乘积 //参数:矩阵A和矩阵B //输出:矩阵的乘积,错误信息 //说明:第一个矩阵a是m×s型的,第二个矩阵b是s×n型的,结果阵Result是m×n型的,如果a矩阵的列与b矩阵 // 的行不相等,则输出错误信息 //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) MulScalar ¶
func (m ComplexMatrix) MulScalar(scalar complex128)
******************************************** //功能: 矩阵乘以一个系数 //参数: 系数 //返回: 无 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (ComplexMatrix) Print ¶
func (m ComplexMatrix) Print(title ...string)
******************************************** //功能:将矩阵逐行打印输出,可选添加标题 //参数: 可选的标题 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) Rows ¶
func (m ComplexMatrix) Rows() int
******************************************** //功能: 获取矩阵的行数 //参数: 无 //返回: 矩阵行数 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (ComplexMatrix) RowsAndCols ¶
func (m ComplexMatrix) RowsAndCols() (rows, cols int)
******************************************** //功能: 获取矩阵的行数和列数 //参数: 无 //返回: 矩阵行数和列数 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (ComplexMatrix) Sub ¶
func (ma ComplexMatrix) Sub(mb ComplexMatrix) (ComplexMatrix, error)
******************************************** //功能:两个矩阵相减 //参数:矩阵B //输出:矩阵的差,错误信息 //说明:两个矩阵都必须是m x n的矩阵,结果也是m x n的矩阵 //作者:wangjp //时间:2020年10月14日 *********************************************
func (ComplexMatrix) SubFromIdentityMatrix ¶
func (m ComplexMatrix) SubFromIdentityMatrix() (ComplexMatrix, error)
******************************************** //功能:用单元矩阵减去该矩阵 //参数:无 //说明: //作者:wangjp //时间:2020年10月14日 *********************************************
func (ComplexMatrix) SumRow ¶
func (m ComplexMatrix) SumRow() []complex128
******************************************** //功能:对矩阵的每行求和 //参数:无 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (ComplexMatrix) Transpose ¶
func (m ComplexMatrix) Transpose() ComplexMatrix
******************************************** //功能: 矩阵转置 //参数: 无 //返回: 转置后的矩阵 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
type Matrix ¶
type Matrix []Array
func InitAsIdentity ¶
******************************************** //功能:初始化输出n阶单位矩阵 //参数: 单位矩阵的阶数n //输出: n x n的单位矩阵 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func InitMatrix ¶
******************************************** //功能: 初始化一个新矩阵 //参数: m为行数,n为列数 //返回: m x n的矩阵,矩阵的元素全为0 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) Add ¶
******************************************** //功能:两个矩阵相加 //参数:矩阵B //输出:矩阵的和,错误信息 //说明:两个矩阵都必须是m x n的矩阵,结果也是m x n的矩阵 //作者:wangjp //时间:2020年10月14日 *********************************************
func (Matrix) Cols ¶
******************************************** //功能: 获取矩阵的列数 //参数: 无 //返回: 矩阵列数 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) Copy ¶
******************************************** //功能:复制一个矩阵 //参数: //输出:新的矩阵 //说明: //作者:wangjp //时间:2020年10月19日 *********************************************
func (Matrix) ElemTransRowMulK ¶
******************************************** //功能:矩阵初等行变换(Elementary Transformation)-某行乘以常数 //参数: 行号r
需要乘的参数k
//说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) ElemTransRowMulKAddToRow ¶
******************************************** //功能:矩阵初等行变换(Elementary Transformation)-数k乘第 r2 行加到第 r1 行 //参数: 行号r1和r2
需要乘的参数k
//说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) ElemTransRowSwap ¶
******************************************** //功能:矩阵初等行变换(Elementary Transformation)-交换两行 //参数:两行的行号 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) Inverse ¶
******************************************** //功能:求矩阵的逆矩阵 //参数: //输出:矩阵的逆矩阵,状态(求逆矩阵成功true,不成功false) //说明:矩阵必须为方阵 //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) IsEqual ¶
******************************************** //功能: 判断两个矩阵是否相等 //参数: 被比较的矩阵 //返回: 两个矩阵相同返回true,不同返回false //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) IsSquareMatix ¶
******************************************** //功能: 是否方阵 //参数: 无 //返回: 如果是方阵(行和列相同),返回true,否则false //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) LeftSquare2Identity ¶
******************************************** //功能:进行初等行变换将矩阵左侧方阵部分转换为单位矩阵 //参数:confg[0]:true:替换原始矩阵,false:不替换原始矩阵 // confg[1]:true:矩阵不可逆时返回错误,false:矩阵不可逆时继续进行 //输出:左侧方阵转换为单位方阵的矩阵 //说明:矩阵的行数不可大于列数 //作者:wangjp //时间:2020年10月19日 *********************************************
func (Matrix) LeftSquare2Triu ¶
******************************************** //功能:对矩阵进行初等行变换,对左侧方阵部分求上三角矩阵 //参数:confg[0]:true:替换原始矩阵,false:不替换原始矩阵 // confg[1]:true:矩阵不可逆时返回错误,false:矩阵不可逆时继续进行 //输出:上三角方阵 // 错误信息 //说明:矩阵的行数不可大于列数 // 做行变换将左侧方阵部分转换为上三角阵 // 主对角线以下都是零的方阵称为上三角矩阵。 // 上三角矩阵具有行列式为对角线元素相乘、上三角矩阵乘以系数后也是上三角矩阵、 // 上三角矩阵间的加减法和乘法运算的结果仍是上三角矩阵等性质。 //作者:wangjp //时间:2020年10月19日 *********************************************
func (Matrix) MeanRow ¶
******************************************** //功能:对矩阵的每行求平均 //参数:无 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) Mul ¶
******************************************** //功能:求矩阵乘积 //参数:矩阵A和矩阵B //输出:矩阵的乘积,错误信息 //说明:第一个矩阵a是m×s型的,第二个矩阵b是s×n型的,结果阵Result是m×n型的,如果a矩阵的列与b矩阵 // 的行不相等,则输出错误信息 //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) MulScalar ¶
******************************************** //功能: 矩阵乘以一个系数 //参数: 系数 //返回: 无 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) Print ¶
******************************************** //功能:将矩阵逐行打印输出,可选添加标题 //参数: 可选的标题 //说明: //作者:wangjp //时间:2020年3月24日 *********************************************
func (Matrix) Rows ¶
******************************************** //功能: 获取矩阵的行数 //参数: 无 //返回: 矩阵行数 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) RowsAndCols ¶
******************************************** //功能: 获取矩阵的行数和列数 //参数: 无 //返回: 矩阵行数和列数 //说明: //作者: wangjp //时间: 2020年10月14日 *********************************************
func (Matrix) Sub ¶
******************************************** //功能:两个矩阵相减 //参数:矩阵B //输出:矩阵的差,错误信息 //说明:两个矩阵都必须是m x n的矩阵,结果也是m x n的矩阵 //作者:wangjp //时间:2020年10月14日 *********************************************
func (Matrix) SubFromIdentityMatrix ¶
******************************************** //功能:用单元矩阵减去该矩阵 //参数:无 //说明: //作者:wangjp //时间:2020年10月14日 *********************************************