⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _symmatfunc_work.mata

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 MATA
字号:
*! version 1.0.0  20dec2004
version 9.0

mata:

/*
	todo = 1             implies matrix log calculation
	todo = 2             implies matrix exp calculation 
	todo = anything else implies matrix power calculation
*/   

void _symmatfunc_work(real scalar todo, numeric matrix A, real scalar power)
{
	numeric rowvector	lambda
	numeric matrix		V
	real scalar		cx0, realel, n

	if ( (n=rows(A))==0 | cols(A)==0 ) return 
	/* ------------------------------------------------------------ */

	if (cx0 = iscomplex(A)) {
		if (isrealvalues(A)) {
			realel = 1
			A = Re(A)
		}
		else	realel = 0
	}
	else	realel = 1 

	_symeigensystem(A, V, lambda)	
	if (cx0) lambda  = C(lambda)

	/* ------------------------------------------------------------ */
	if (todo==1) 		lambda = ln(lambda) 
	else if (todo==2) 	lambda = exp(lambda)
	else 			lambda = lambda:^power
	/* ------------------------------------------------------------ */

	A = .
	if (missing(lambda)) {
		A = J(n, n, cx0 ? C(.) : .)
	}
	else {
		A = (lambda:*V)*(V')
		if (isrealvalues(lambda)) _makesymmetric(A)
		else if (realel) A = .5*(A+transposeonly(A))
	}
		
	/* ------------------------------------------------------------ */
}

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -