@ Python 공지 홈페이지: http://www.python.org

@ 왕초보를 위한 파이썬: http://pythonlab.org

@ 컴퓨터 과학자 같이 생각하는 법: http://coreapython.hosting.paran.com/thinkCSpy%282nd%29/index.htm

@ 파이썬 자습서(귀도 반 로섬, 파이썬 언어 제작자) : http://coreapython.hosting.paran.com/howto/tut/index.html

@ 알란 굴드(Alan gauld)의 파이썬 프로그래밍 연습: http://coreapython.hosting.paran.com/tutor/index.htm

@ 파이썬 유저 그룹: http://python.kr/


####################################################################################################


@ PyCUDA, PyOpenCL 자료

- PDF 파일 첨부

- 주 제작자 및 유지보수자 홈페이지: http://mathema.tician.de/

- PyCUDA 관련 카테고리: http://mathema.tician.de/software/pycuda/

http://documen.tician.de/pycuda/


- PyOpenCL 관련 카테고리: http://mathema.tician.de/software/pyopencl/

http://documen.tician.de/pyopencl/


@ NumPy, SciPy 자료

- NumPy 홈페이지: http://www.numpy.org/

- Documents: http://docs.scipy.org/doc/


- SciPy 홈페이지: http://www.scipy.org/

- Documents: 위의 doc와 동일

- CookBook: http://wiki.scipy.org/Cookbook (각종 주제별 예제 수록)


@ PyQt 자료

- PyQt 소개: http://www.riverbankcomputing.co.uk/software/pyqt/intro

- Tutorial, Documents, 질의응답, 관련 책자등등: http://www.diotavelli.net/PyQtWiki

-  http://zetcode.com/gui/pyqt4/

http://www.rkblog.rk.edu.pl/w/p/introduction-pyqt4/ (Good)

- http://www.boddie.org.uk/david/Projects/Python/Qt/Getting_Started_With_PyQt4_v1.pdf

- Qt 참고할만한 블로그: http://blog.naver.com/lithium81?Redirect=Log&logNo=80123027506


@ matplotlib 자료

: MATLAB과 유사한 방식의 사용법을 가진, 파이썬에서 2D (or 3D) 플롯팅을 하기 위한 라이브러리

- 공식 홈페이지: http://matplotlib.org/index.html

- Documents: http://matplotlib.org/contents.html

'Programming > etc' 카테고리의 다른 글

Installing Xdebug on CentOS  (0) 2014.09.06
LAMP (Linux Based Apache, MariaDB, PHP) Install  (0) 2014.08.23
Python PySide 설치  (1) 2013.03.07
윈도우환경을 리눅스환경처럼  (0) 2013.02.19
Python IDLE 한글 설정  (0) 2013.02.13
Posted by scii
:

NumPy 배열

Programming/NumPy&SciPy 2014. 2. 19. 04:30 |


NumPy 배열


NumPy는 과학계산을 수행하는 파이썬 핵심 패키지다. 이 패키지는 N차원 배열, 원소별 연산(브로드캐스팅), 선형대수학과 같은 핵심 수학 연산, C/C++/포트란 코드 인터페이스를 제공한다. 


NumPy 특징

파이썬은 데이터를 여러 방식으로 저장하지만, 가장 많이 사용되는 방식은 리스트와 딕셔너리다. 파이썬 리스트 객체는 거의 모든 종류의 객체를 담을 수 있다. 그러나 리스트에 담긴 원소의 연산은 반복문 내에서만 수행되는데, 파이썬에서는 반복문 안에서의 연산이 비효율적이다. 

하지만 NumPy 패키지는 'ndarray' 라는 데이터 저장 객체를 제공하여 파이썬 리스트의 단점을 극복할 수 있다.


ndarray는 리스트와 비슷하지만, 한 행에 같은 형식의 원소를 저장한다는 점에서 여러 타입의 객체를 저장하는 유연성이 높은 리스트와는 다르다. 예를 들어 파이썬 리스트의 첫 번째 원소가 리스트일 때, 두 번째 원소는 리스트나 딕셔너리로 만들 수 있다. 

NumPy 배열에서는 부동소수, 정수, 또는 문자열 등과 같이 한 가지 타입만 저장할 수 있지만, ndarray의 연산 속도는 일반적인 파이썬 리스트보다 훨씬 빠르다.


IPython의 '%timeit' 명령어를 사용하여NumPy의 ndarray와 파이썬 리스트, 둘의 연산 속도를 비교해 보았다.



이제 가급적 리스트보다는 NumPy의 ndarray를 사용하자!!

그리고, 반가운 소식이 하나있다. 그것은 Houdini 13부터는 NumPy를 지원한다는 점이다. 그전 버전에서는 NumPy를 사용자가 직접 다운받고 Houdini 디렉토리에 넣었는데 이제는 Houdini를 설치하면 NumPy패키지도 함께 설치가 된다. 정말 좋다!!! 

SciPy와 matplotlib 패키지는 같이 설치가 안되어서 이것들은 따로 설치해주어야 한다.

'Programming > NumPy&SciPy' 카테고리의 다른 글

SciPy와 NumPy 설치 방법  (0) 2014.02.19
왜 SciPy와 NumPy를 사용하는가?  (0) 2014.02.19
Posted by scii
:


Mac:

sudo port install py27-NumPy py27-SciPy py27-ipython


Debian 계열:

sudo apt-get install python-NumPy python-SciPy


RedHat 계열:

sudo yum install NumPy SciPy


'Programming > NumPy&SciPy' 카테고리의 다른 글

NumPy 배열  (0) 2014.02.19
왜 SciPy와 NumPy를 사용하는가?  (0) 2014.02.19
Posted by scii
:


과학적 프로그래밍에 사용되는 기본 연산에는 배열, 행렬, 적분, 미분방정식 연산, 통계등이 있다. 파이썬은 행렬이나 배열이 아닌 일반적 변수에 대한 기초적 수학 연산을 제공하지만 기본적인 과학계산 기능은 내장되어 있지 않다. 

SciPy와 NumPy는 과학계산을 효율적으로 수행할 수 있는 강력한 파이썬 패키지다.


NumPy는 다차원 ndarray를 사용한 수치 연산에 특화되어 있다. NumPy 행렬 ndarray는 브로드캐스팅이라고 불리는 원소별 연산이 가능하다. 필요한 경우, 브로드캐스팅을 사용하여 NumPy 배열을 특별히 조작하지 않고도 선형 대수적 연산이 가능하며 배열의 크기가 동적으로 변한다. 이러한 특징은 다른 프로그래밍 언어로 하기 어려운 빠른 구현을 가능하게 해준다. 특정한 원소를 제거하고자 하는 경우에는 새 배열을 만들기 보다는 마스크를 적용할 수 있다.


SciPy는 NumPy 배열 프레임워크를 기반으로 만들어져 적분, 상미분장정식, 특수 함수, 최적화를 비롯한 다양한 고급 수학 함수들을 제공하여 과학적 프로그래밍을 완전히 다른 수준에서 수행할 수 있다.



'Programming > NumPy&SciPy' 카테고리의 다른 글

NumPy 배열  (0) 2014.02.19
SciPy와 NumPy 설치 방법  (0) 2014.02.19
Posted by scii
:


1) 함수 선언에 직접 정의하는 배열 포인터 예제.


2) typedef 를 이용하여 새로운 자료형을 만든 후, 그것을 사용하는 예제.


'Programming > C++' 카테고리의 다른 글

getopt Function Example  (0) 2013.09.25
qsort Function Example  (0) 2013.09.25
const 객체와 const 객체의 특성성  (0) 2013.08.13
복사 생성자의 완벽한 이해  (0) 2013.08.12
3n+1 문제  (0) 2013.03.27
Posted by scii
:



'Programming > C++' 카테고리의 다른 글

배열 포인터 ( 배열을 가리킬 수 있는 포인터)  (0) 2013.09.27
qsort Function Example  (0) 2013.09.25
const 객체와 const 객체의 특성성  (0) 2013.08.13
복사 생성자의 완벽한 이해  (0) 2013.08.12
3n+1 문제  (0) 2013.03.27
Posted by scii
:





'Programming > C++' 카테고리의 다른 글

배열 포인터 ( 배열을 가리킬 수 있는 포인터)  (0) 2013.09.27
getopt Function Example  (0) 2013.09.25
const 객체와 const 객체의 특성성  (0) 2013.08.13
복사 생성자의 완벽한 이해  (0) 2013.08.12
3n+1 문제  (0) 2013.03.27
Posted by scii
:

void pointer 예제

Programming/C 2013. 9. 18. 03:32 |





'Programming > C' 카테고리의 다른 글

scanf 함수의 리턴 값  (0) 2013.03.27
Bit Field  (0) 2013.02.15
Bit Mask  (0) 2013.02.15
시간과 날짜 관련 함수들  (0) 2013.02.15
난수 (Random Number)  (0) 2013.02.15
Posted by scii
: