public static Matrix MatAcosh(Matrix A) { MATHEMATICS math = new MATHEMATICS(12); if (!A.IsSquare()) { throw new Exception("Required Square Matrix"); } Matrix s = new Matrix(A.rows, A.cols); for (int i = 1; i <= 12; i++) { s += (math.fact(2 * i) * Matrix.Power(A, -2 * i)) / (Math.Pow(4, i) * math.fact(i) * math.fact(i) * (2 * i)); } return(MatLog(2 * A) - s); }
public static Matrix MatAsinh(Matrix A) { MATHEMATICS math = new MATHEMATICS(12); if (!A.IsSquare()) { throw new Exception("Required Square Matrix"); } Matrix I = IdentityMatrix(A.rows, A.cols); Matrix s = new Matrix(A.rows, A.cols); for (int i = 0; i <= 12; i++) { s += (Math.Pow(-1, i) * math.fact(2 * i) * Matrix.Power(A, 2 * i + 1)) / (Math.Pow(4, i) * math.fact(i) * math.fact(i) * (2 * i + 1)); } return(s); }
public static Matrix MatExp(Matrix A) { MATHEMATICS math = new MATHEMATICS(12); if (!A.IsSquare()) { throw new Exception("Required Square Matrix"); } Matrix I = IdentityMatrix(A.rows, A.cols); Matrix s = new Matrix(A.rows, A.cols); for (int i = 1; i <= 12; i++) { s += (Matrix.Power(A, i)) / math.fact(i); } return(I + s); }