스웨덴 찰머스(Chalmers) 공대의 이론 물리학 박사 학위를 받은 숙련된 Python 프로그래머 겸 전산학자다. 학계, 산업계의 과학 컴퓨팅 분야에서 10년 이상 일했고 오픈 소스 개발과 독점적 연구 프로젝트에 참여했다.
오픈 소스에 기여한 부분으로는 양자 시스템의 역학을 시뮬레이션하기 위한 인기 있는 Python 프레임워크인 QuTiP에 대한 연구와 과학 컴퓨팅 환경에서 인기 있는 Python 라이브러리가 있다. 과학 컴퓨팅과 소프트웨어 개발에 열정을 쏟고 있으며 이 분야들을 최적의 결과로 결합시키기 위한 모범 사례, 즉 새롭고 재현 가능하며 확장 가능한 컴퓨터 결과를 가르치고 전달하는 데 전념하고 있다. 이론 물리학과 컴퓨터 물리학 분야에서 5년간 박사 후 과정을 거쳤으며 현재 IT 업계에서 데이터 과학자로 일하고 있다.
과학 및 수치 컴퓨팅은 연구, 엔지니어링, 분석 분야에서 각광을 받고 있다. 컴퓨터 산업의 혁명은 지난 수십 년간 컴퓨터 전문가들에게 새롭고 강력한 도구를 제공했다. 이 도구는 이전에 불가능했던 규모와 복잡도를 가진 연산 작업을 가능하게 했다. 그 결과, 새로운 분야와 산업이 우후죽순처럼 생겨났다. 발전은 여전히 진행 중이며 하드웨어, 소프트웨어, 알고리즘이 계속 향상됨에 따라 새로운 기회가 창출되고 있다.
이 움직임을 궁극적으로 가능하게 해준 기술은 최근 수십 년간 개발된 강력한 컴퓨터 하드웨어다. 그러나 연산 작업에 이용되는 소프트웨어 환경은 전산 전문가에게 있어 (하드웨어보다 중요하지 않은지는 몰라도) 여전히 중요하다.
이 책은 수치 컴퓨팅에서 인기 있고 빠르게 성장하는 환경인 Python 프로그래밍 언어로 컴퓨터 작업을 하기 위한 라이브러리와 그 계산 환경의 확장을 위한 생태계에 관한 것이다. 전산은 이론과 실제 모두에 있어 경험과 전문 지식을 요하는 활동으로, 수학과 과학적 사고에 대한 확고한 이해가 바탕이 돼야 효과적으로 작업할 수 있다.
프로그래밍 훈련은 전산에 있어 매우 중요하다. 이 책은 Python 프로그래밍 언어 및 주변 컴퓨팅 환경을 이용한 과학적 계산 방법 사이의 가교 역할을 하고자 두 주제를 모두 다룬다. 또한 독자들이 Python 프로그래밍에 대한 기초적인 지식과 수학, 수치 해석에 대한 사전 지식을 갖고 있다고 가정한다.
이 책의 초점은 Python을 이용한 실질적인 계산 문제 해결 방법을 소개하는 데 있다. 각 장은 주제 이론에 대한 간략한 소개, 표기법을 비롯한 기본적인 기법 설명, 알고리즘을 알려준다. 그러나 모든 기법이 일관적으로 기술돼 있지 않으며, 각 장의 주제에 익숙하지 않은 독자들을 위해 각 장의 끝에 참고 문헌을 나열했다. Python 프로그래밍 경험이 없는 독자들은 Python 프로그래밍 언어 자체에 초점을 맞춘 책과 함께 읽는 것이 좋다.