분류 전체보기 726

감마함수(gamma function)의 값을 (유효수자 15자리 까지 정밀하게) 계산하는 C 언어 소스

Lanczos 알고리즘은 Stirling 공식에 의한 알고리즘 보다 정밀하며, 십진수로 유효숫자 약 15자리 까지는 정확하게 계산해 준다. 단지 exp 함수를 이용하는 부분에서는 exp, sin, pow 함수들의 구현에 따라 오차가 더 있을 수 있다. 소스를 보면 (조금이라도 유효수자의 개수가 더 많은 계산을 하기 위해) double 타입이 아니라 long double 타입으로 처리하고 있음을 알 수 있다. long double frac(long double x) long double gamma2(long double y) Unix/Linux의 C 컴파일러 gcc 를 사용하면 math 라이브러리에 tgamma 라는 함수가 이미 있다. 이 함수와 (자체 구현된) gamma2 함수에 의한 계산 결과를 비교하..

프로그래밍/C 2012.12.12

감마함수(gamma function)의 값을 (유효수자 15자리 까지 정밀하게) 계산하는 Python 언어 소스

Lanczos 알고리즘은 Stirlng 공식에 의한 알고리즘 보다 정밀하며, 십진수로 유효숫자 약 15자리 까지는 정확하게 계산해 준다. 단지 exp 함수를 이용하는 부분에서는 exp 함수의 구현에 따라 오차가 더 있을 수 있다. #!/usr/bin/env python # -*- encoding:utf-8 -*- # Filename: testLanczos-01.py # # An approximation for the gamma function by using the Lanczos algorithm # # Execute: python testLanczos-01.py # or # Execute: ./testLanczos-01.py # # See: http://en.wikipedia.org/wiki/Lancz..

Ubuntu에서 gnuplot 을 이용하여 그린 감마함수(gamma function)의 그래프

감마함수 Γ(x)의 정의 (i) \textrm{$\alpha > 0$일 때는} \Gamma (\alpha) = \int_0^\infty e^{-t} t^{\alpha - 1} \ dt (ii) \textrm{$\alpha 0$ 이 되는 최소의 양의 정수 $k$를 찾아서} \Gamma (\alpha) = \dfrac{\Gamma(\alpha + k)}{\alpha (\alpha + 1) \cdots (\alpha +k - 1)} [감마함수 Γ(x)의 특징] (1) \Gamma (\alpha + 1) = \alpha \cdot \Gamma(\alpha) (2) \textrm{특히 $n$이 양의 정수일 때는 \ } \Ga..

학습/수학 2012.12.12

Ubuntu 에 설치된 KmPlot 을 이용하여 그린 감마함수(gamma function)의 그래프

감마함수 Γ(x)의 정의 (i) \textrm{$\alpha > 0$일 때는} \Gamma (\alpha) = \int_0^\infty e^{-t} t^{\alpha - 1} \ dt (ii) \textrm{$\alpha 0$ 이 되는 최소의 양의 정수 $k$를 찾아서} \Gamma (\alpha) = \dfrac{\Gamma(\alpha + k)}{\alpha (\alpha + 1) \cdots (\alpha +k - 1)} [감마함수 Γ(x)의 특징] (1) \Gamma (\alpha + 1) = \alpha \cdot \Gamma(\alpha) (2) \textrm{특히 $n$이 양의 정수일 때는 \ } \Ga..

학습/수학 2012.12.12

Python 2.6, 2.6 및 3.2 로 복소수의 포맷(format) 출력

* 리눅스의 Python 2.6 으로 실행한 결과 Python 2.6.5 (r265:79063, Oct 1 2012, 22:04:36) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> x = complex(1, 2./3) >>> x (1+0.66666666666666663j) >>> "{0.real:.5}+{0.imag:.5}j".format(x) '1.0+0.66667j' >>> "{0.real:.5f}{0.imag:+.5f}j".format(x) '1.00000+0.66667j' >>> print "{0.real:.5f}{0.imag:+.5f}j".format(x) 1.0000..

높은 버전(1.9.2 이상)의 Ruby 언어에서 (UTF-8 인코딩) 한글 문자열 거꾸로 하기

* 아래는 높은 버전(1.9.2 이상)의 Ruby를 사용할 때 적용된다. UTF--8 인코딩이면 영문이든 한글이든 모두 문자열을 거꾸로 하기가 잘된다.String.reverse 또는 Strig.reverse() 하면 거꾸로 된 문자열을 얻는다. 예제 1. UTF-8 한글 문자열을 잘 처리하는 예제 # -*- encoding: utf-8 -*- a = "Hello, world!" b = "안녕하세요? 아햏햏" puts "%s --> %s" % [a, a.reverse()] puts "%s --> %s" % [b, b.reverse()] #################### # Expected: # Hello, world! --> !dlrow ,olleH # 안녕하세요? 아햏햏 --> 햏햏아 ?요세하녕안 #..

리눅스용 계산기 bc를 이용한 간단한 계산

bc는 유닉스/리눅스가 설치된 한경이면 어디든 있는 계산기 프로그램이다. bc 사용 메뉴얼 $ man bc NAME bc - An arbitrary precision calculator language SYNTAX bc [ -hlwsqv ] [long-options] [ file ... ] DESCRIPTION bc is a language that supports arbitrary precision numbers with inter‐ active execution of statements. There are some similarities in the syntax to the C programming language. A standard math library is available by command..

프로그래밍/BC 2012.12.05

Mac OS X 또는 Ubuntu 등의 리눅스에 Jython를 설치하고 간단한 테스트하기

Jython은 JVM(자바 가상 기계, Java Virtual Machine) 상에서 동작하는 파이썬 인터프리터이다. 한 때는 JPython이라는 이름으로 불리우기도 했는데, 지금은 더 짧은 이름 Jython으로 통한다. 리녹스 시스템에 슈퍼유저(su) 권한으로 Jython을 러치하면 캐쉬 디렉토리의 설정 문제로 약간은 다소 귀찮은 일이 발샐한다. 여기서는 이런 문제도 해결하고 Tomcat과 연동하여 PyServlet을 동자기켜 보기로 한다. * Jython 2.5.3 다운로드 Jython의 현재 최신 릴리즈는 2.5.3이다 Jython 홈페이지 http://jythom.org 에서 jython-installer-2.5.3 을 다운받는다. 다운받은 파일을 적당한 곳으로 옮기고, 터미널에서 그 폴더로 체인..