matheTOY 입실론 버전에서 현재(2010년 2월 22일)까지 처리된 함수 목록입니다.
(※ matheTOY 입실론 버전은 아직 출시되지 않은 버전이므로 착오없으시길 바랍니다)
몇몇 함수는 계산 속도를 위한 알고리즘 개선 등의 추가 작업이 필요한 상태입니다.
또, 통계 파트의 상당수 함수는 이번 버전에서 제거되어 풀시될 예정입니다.
통계 파트의 다양한 분포 함수와 PDF 처리, 신뢰도 검정 등의 부분에 대해서는 전체적인 UI를 다듬은 후에 출시할 수 있을 듯 합니다.
현재 지원되는 함수만으로도, 대부분의 수학 분야에서 mathmatica의 수학 함수 리스트에 비교하여 부족하지 않습니다.
또, 통상 소수점 이하 20자리 정도까지의 정밀도만 제공하는 여러 전문 수학 프로그램들과 달리,
각 함수에 대해 소수점 이하 1만자리까지 정밀도를 지원하므로, mathmatica에 비교하여 더 뛰어난 기능성을 보일 수 있을 것이라 생각됩니다.
또한 matheTOY는 mathmatica 처럼, 스크립트 언어를 지원하므로,
사용자가 클래스 등을 제작하여, 원하는 수학적 출력물을 프로그래밍할 수 있게 됩니다.
비함수 연산자 부분
- 대소 비교문
- 선택문
- 조건문
- 사칙연산, 거듭제곱
함수 부분
Abs : Abs(A)
Sgn : Sgn(A), A Is Real
Floor : Floor(A[, FloorDigit])
Re : Re(A)
Im : Im(A)
------------------------------------------------
Reciprocal
Exp : Exp(A)
Sqr
------------------------------------------------
Cos / Sin / Tan
Sec / Cosec / Cotan
Arcsin / Arccos / Arcsec / Arccosec / Arccotan
Hsin / Hcos / Htan / Hsec / Hcosec / Hcotan
Harcsin / Harccos / Harctan / Harcsec / Harccosec / Harccotan
------------------------------------------------
Atan / ArcTan / Atn
Asin / Acos / Csc / Ctan / Ctn / Acosec / Acsc / ArcCsc / Acotan / Actan / Actn / ArcCtan / ArcCtn / Asec
Hatan / Hatn / Hasin / Hacos / HCsc / Hctan / HCtn
Hacosec / Hacsc / HArcCsc / Hacotan / Hactan / Hactn / HArcCtan / HArcCtn
Hasec / Atanh / Atnh / Asinh / Acosh / Csch / Ctanh / Ctnh / Acosech / Acsch
ArcCsch / Acotanh / Actanh / Actnh / ArcCtanh / ArcCtnh / Asech / ArcTanh
ArcSinh / ArcCosh / Cosech / Cotanh / ArcCosech / ArcCotanh / ArcSech
------------------------------------------------
Sinc : = Sin(Pi*x)/(Pi*x)
Ln : Ln(A)
Log(X1, X2)
Gudermannian : = 2*arcTan(e^x) - Pi/2
LogFloor : (a, b)
Arg
------------------------------------------------
Bernoulli : (n) : n is none negative integer
Gamma : (s) : s is complex
Gamma_Incomplete_Upper : STT (통계) : (s, up) and : up : is Real
Gamma_Incomplete_Lower : STT (통계) : (s, low) and : low : is Real
Gamma_Di : Di(z) = PolyGamma(0, z)
Gamma_Poly : (m, z) : m is none negative integer
Gamma_Multivariate : (p, x) : p is natural number
Beta : Beta(X, Y)
Beta_Incomplete : STT (통계) : Beta_Imcomp(up, a, b) and : up : is Real
Zeta : (z)
Zeta_Hurwitz : (s, q) and Re(s)>1, Re(q)>0
// Zeta_Lerch : -> 너무 복잡하여 사용치 않음
Error : = 2*Cumulative_Distribution(x * Sqr(2)) - 1
ErrorC : = 2*Cumulative_Distribution(-x * Sqr(2))
K : K(n)
Barnes_G : (z)
Dirichlet_L : L(s, k) and k is natural number > 1
= Zeta_Hurwitz(s, m/k))
Dirichlet_Beta : 4^(-n) * (Zeta_Hurwitz(s, 1/4) - Zeta_Hurwitz(s, 3/4))
Dirichlet_Character : (k, s, n) - k: 1 보다 큰 Integer
s: Positive int, n: none negative integer
------------------------------------------------
Eta_Dirichlet : = (1 - 2^(1 - s)) * Zeta(s)
Eta_Dedekind : (z)
Euler : Euler(q) = q^(-1/24) * Eta_Dedekind(Tau), 단, q = e^(2*pi*i*Tau)
하지만, Tau를 구하는 것이 쉽지 않기 때문에 따로 처리한다.
Chi_Legendre : chi_v(z) = 1/2 * [Li_v(z) - Li_v(-z)] : Li : PolyLogarithm
Delta_Kronecker : (i, j) : i, j is integer
------------------------------------------------
Theta_Riemann_Siegel : theta(t) = arg (Gammat((2it+1)/4))) - t * Ln(pi)/2
Theta_Jacobi : (z, r) : z, r is complex
Theta_Ramanujan : (a, b) a, b is real and |ab| < 1
Theta_Riemann : (t) : t is real
Theta_Q : (z, q) : q is real and |q| < 1
------------------------------------------------
Bessel_First : J_a(x) 로 표기 - (a, x) and a, x is complex
Bessel_Second : Y_a(x) = (J_a(x) * cos(a * pi) - J_-a(x)) / sin(a * pi)
Bessel_Modified_I : I_a(x) = i ^ (-a) * J_a(i * x)
Bessel_Modified_K : K_a(x) = (Pi / 2) * i ^ (a + 1) * H1_a(i * x)
Bessel_Spherical_J : j_n(x) = sqr(pi / (2 * x)) * J_{n+1/2}(x)
Bessel_Spherical_Y : y_n(x) = (-1)^{n+1} * sqr{pi / (2 * x)} * J_{-n-1/2}(x)
Bessel_Riccati_S : S_n(x) = x * j_n(x)
Bessel_Riccati_C : C_n(x) = -x * y_n(x)
Bessel_Riccati_Zeta : Zeta_n(x) = x * h2_n(x)
Bessel_Clifford_One : (n, z) : n, z is complex
Bessel_Clifford_Two : (n, z) : n, z is complex
Hankel_One : H1_a(x) = (J_-a(x) - e^(a * pi * i) * J_a(x)) / (i * sin(a * pi))
Hankel_Two : H2_a(x) = (J_-a(x) - e^(a * pi * i) * J_a(x)) / (-i * sin(a * pi))
Hankel_One_Spherical : h1_n(x) = j_n(x) + i * y_n(x)
Hankel_Two_Spherical : h2_n(x) = j_n(x) - i * y_n(x)
Kelvin_Ber : (n, x) : n is integer
Kelvin_Bei
Kelvin_Ker
Kelvin_Kei
Airy_Ai : (x) : x is real
Airy_Bi
Synchrotron_First : (x) : x is real >=0
Synchrotron_Second : G(x) = x * K_{2/3}(x)
------------------------------------------------
Weierstrass : (x, a, b) : 0 < a < 1, b : positive odd integer, and ab > 1 + {3 * pi}/2
Weierstrass_Elliptic : (z[, w1], w2)
Invariant_J : j(x) = [θ(0;x)^8+θ_{01}(0;x)^8+θ_{10}(0;x)^8]^3
32 ---------------------------------------
[θ(0;x) θ_{01}(0;x) θ_{10}(0;x)]^8}
θ : Jacobi Theta FC
Struve : (a, x) : a, x is complex
Anger : (v, z)
Weber : (v, z)
Riesz : (x)
Dawson : = - {i * sqr{pi} / 2} * e^{-x^2} * erf(i * x) : erf() : Error Function
Lambert_W : (x)
Dirac_Delta : (x)
Mittag_Leffler : (a, b, z) : a, b, z is complex, Re(a) > 0
------------------------------------------------
Polylog : Li(s, z) : s, z Is complex and |z| < 1
Polylog_Incomplete : Li(s, low, z) : s, z Is complex and |z| < 1, low is real
Polylog_Spence : = Li_2(z)
------------------------------------------------
Integral Type Function
integral_Scorer_Gi : (x)
integral_Scorer_Hi : (x)
integral_Clausen : (s, x) : Re(s) > 1
integral_Kummer : (n, z) : n, z is complex
integral_Heaviside_Step : (x) : x is real
integral_Logarithmic : li(x) : x is real > 0 and x<>1
integral_Logarithmic_Offset : Li(x) = li(x) - li(2)
integral_Exponential : Ei(x) : x is real x <> 0
integral_Trigono_Upper : Si(x) : x is real > 0
integral_Trigono_Lower : si(x) : x is real > 0
integral_Fresnel_Sin : (x) : x is real > 0
integral_Fresnel_Cos : (x) : x is real > 0
// integral_Elliptic_Incomplete_First : -> 이해되지 않는 수학적 내용이 있어서 처리를 미룸
integral_Elliptic_Incomplete_Second
integral_Elliptic_Incomplete_Third
integral_Elliptic_Complete_First
integral_Elliptic_Complete_Second
integral_Elliptic_Complete_Third
------------------------------------------------
Seri_Integral : 부정 적분이다. Integral(By X, F(X)) 꼴로 나타낸다.
Seri_IntegralReal : 정적분이다. IntegralReal(By X, Area(), F(X)) 꼴로 나타낸다.
Seri_Differ : 미분 Differ(By X, F(X)) 꼴
Seri_Series : Series(By X, Area(A, B), F(X)[, Where(IsFactor(X,C))]) 양식
Seri_SumAll : SumAll(By X, Area(A, B), F(X)[, Where(IsFactor(X,C))]) 양식
Seri_ProductAll : ProductAll(By X, Area(A, B), F(X)[, Where(IsFactor(X,C))]) 양식
Seri_ContinuedFrac : ContinuedFrac(By X, Area(A, B), F(X)[, Where(IsFactor(X,C))]) 양식
Seri_Interval : Series, Integral 등에서 사용, (Start, End[, Step])
------------------------------------------------
ModExpand_CycleMod : (R, modR)
------------------------------------------------
n번째 항을 순차적으로 출력하는 함수들만 모음
nThElem_Bernoulli : (n) : n is none negative integer
nThElem_Prime : (n) : n is none negative integer
nThElem_Divisor : (d, n) : d is natural, n is none negative integer
nThElem_Divisor_Count : (d)
nThElem_Factor_Prime : (d, n) : d, n is natural
nThElem_Factor_Prime_Count : (d)
nThElem_Factor_PrimePower : (d, n) : d, n is natural
nThElem_Factor_PrimePower_Count : (d)
nThElem_Modulus_Coprimes : (d, n) : d, n is natural
nThElem_Modulus_PrimitiveRoots : (d, n) : d, n is natural
nThElem_Modulus_PrimitiveRootFirst : (d)
nThElem_Add_PowersRepresent : (d, n) : d, n is natural
nThElem_Add_CountOfPowersRepresent : (d)
nThElem_Add_SumByTwoSquares : (d, n) : d, n is natural
nThElem_Add_CountOfSumByTwoSquares : (d)
------------------------------------------------
Expand_ContinuedFrac : (v, Count) : v는 수 또는 함수, Count = 자연수
Expand_Talor : (F) : F is function
Expand_Integral : (F) : F is function
Expand_SumAll : (F) : F is function
------------------------------------------------
Poly_Expand : (F) : F is function
Poly_Collapse : (F) : F is function
Poly_Collapse_Differention : (F) : F is function
------------------------------------------------
PolyExpand_Hermite : (n, x) : n is none negative integer
PolyExpand_Laguerre : (n, x) : n is none negative integer
PolyExpand_Bessel : (n, x) : n is none negative integer
PolyExpand_BesselReserved : (n, x) : n is none negative integer
PolyExpand_Tchebycheff_First : (n, x) : n is none negative integer
PolyExpand_Tchebycheff_Second : (n, x) : n is none negative integer
PolyExpand_Legendre : (n, x) : n is none negative integer
PolyExpand_Legendre_Associated : (m, n, x) : m, n is none negative integer
PolyExpand_Primitive : (n, x) : n is natural > 1, 원시 방정식
PolyExpand_Symetric : (n, x1, x2, ..., xk) : n is natural
PolyExpand_PowerSymetric : (n, x1, x2, ..., xk) : n is natural
------------------------------------------------
NumThAdd_Partition : (n) : n is natural
NumThAdd_Bell_Number : (n) : n is none negative integer
// NumThAdd_Stirling_Number_First : 수학적 의미가 부정확하여 처리를 미룸
NumThAdd_Stirling_Number_Second
------------------------------------------------
NumThBin_Binomial : (a, b) : a, b is complex
NumThBin_Multinomial : (a, k1, k2, k3, ...) : all arguments is complex
NumThBin_Catalan_Number : (n) : n is none negative integer
------------------------------------------------
NumTh_Lcm : (x1, x2, ...) : x is gauss integer
NumTh_Gcd : (x1, x2, ...) : x is gauss integer
NumTh_Quotient : (a, b) : a, b is gauss integer
NumTh_SumOfPower : (a To b, n) : a, b, n is natural
------------------------------------------------
NumThMul_Legendre_Symbol : (a, b) : a is integer, b is odd prime > 0
NumThMul_Jacobi_Symbol : (a, b) : a is integer, b is odd integer > 0
NumThMul_Kronecker_Symbol : (a, b) : a, b is integer
NumThMul_MoebiusMu : (n) : n is integer > 0
NumThMul_Liouville : = (-1)^PrimOmega(n) : (n) : n is integer > 0
NumThMul_Dedekind_Psi : (n) : n is integer > 0
NumThMul_Euler_Totient_Phi : (n) : n is integer > 0
NumThMul_Carmichael_Lambda : (n) : n is integer > 0
NumThMul_Mangoldt_Lambda : (n) : n is integer > 0
NumThMul_DivisorSigma : (n[, x]) : n is integer > 0, x is complex
NumThMul_DivisorSigmaAliquot : (n[, x]) : n is integer > 0, x is complex
NumThMul_Dedekind_Sum : (a, b, c) : a, b, c is integer > 0
NumThMul_PrimeOmega : (n) : n is integer > 0
NumThMul_PrimeOmegaDistinct : (n) : n is integer > 0
------------------------------------------------
NumThPrime_NearPrime : (n) : n is real > 0
NumThPrime_PrimePi : (n) : n is real > 0
NumThPrime_NextPrime : (n) : n is real > 0
------------------------------------------------
STT_Fermi_Dirac_Complete : (j, x) : j, x is complex
STT_Fermi_Dirac_Incomplete : (j, x, low) : j, x is complex, low is real
STT_Cumulative_Distribution
------------------------------------------------
Method_Select : Select(T/F, TruePart, FalsePart)
------------------------------------------------
Where : Where(T/F) : Series 등에 사용되는 조건문
------------------------------------------------
Bool Type Function - Where문에서 사용
Is_Even : (n) : n is integer
Is_Odd : (n) : n is integer
Is_Natural : (C) : C is complex
Is_Integer : (C) : C is complex
Is_Rational : (C) : C is complex
Is_Irrational : (C) : C is complex
Is_UnReal : (C) : C is complex
Is_Not : Not(T/F) : Ex) IsNot(IsEven(a)) 등
------------------------------------------------ 여기까지 Base Is-Function
Is_Prime : (n) : n is integer
Is_PrimePower : (n) : n is integer
Is_SqaureFree : (n) : n is integer
Is_Factor : (n, m) : n, m is integer
Is_Divisible : (n, m) : n, m is integer
Is_CoPrime : (a1, a2, a3, ... ) : all arguments are integer
------------------------------------------------
※ 상기의 함수 목록은 제작 과정 중에 변경 또는 추가될 수 있습니다.
처리 엔진의 개략
위의 함수들은 심볼릭 연산 엔진을 기반으로 처리하게 됩니다.
즉, 모든 함수는 심볼릭 연산을 우선적으로 처리합니다.
따라서,
다항식이나 초월함수 등의 여러가지 수학적 형태를 있는 그대로 다루어 계산하게 됩니다.
출력값은,
기본적으로 복합 함수식이거나 미적분 꼴이 되고,
사용자가 추가적인 명령을 내리면, 복소수 또는 그래프로 출력할 수 있게 됩니다.
matheTOY Delta 버전의 수론 계산기 및 다항식 계산기에서 발전하여 더욱 강력해진 심볼릭 연산을 통해,
사용자들이 여러가지 수학적 연산을 깊이있게 실행해볼 수 있으리라 기대합니다.