과학 프로그래밍 언어

Scientific programming language

컴퓨터 프로그래밍에서 과학 프로그래밍 언어는 동일한 개념의 두 정도를 나타낼 수 있습니다.

넓은 의미에서, 과학 프로그래밍 언어는 컴퓨터 과학과 컴퓨터 수학에 널리 사용되는 프로그래밍 언어입니다.그런 의미에서 C/C++와[1] Python은 과학 프로그래밍 언어로 간주할 수 있습니다.

더 강한 의미에서 과학 프로그래밍 언어는 수학 공식과 [2]행렬을 사용하도록 설계되고 최적화된 언어입니다.이러한 언어는 수학적 또는 과학적 기능을 수행하는 라이브러리의 가용성뿐만 아니라 언어 [3]자체의 구문으로도 특징지어집니다.예를 들어, C++와 Python 모두 행렬 산술(더하기, 곱하기 등)을 위한 내장 행렬 타입이나 함수를 가지고 있지 않다.대신 이 기능은 표준 라이브러리를 통해 이용할 수 있다.보다 강력한 의미의 과학 프로그래밍 언어에는 ALGOL, APL, Fortran, Julia, Maple, MATLAB[4][5]R이 포함됩니다.

과학 프로그래밍 언어는 일반적으로 과학 언어와 혼동되어서는 안 된다. 과학 언어는 과학 방법의 실무자에게서 요구되는 정밀도, 정확성, 정확성의 더 높은 기준을 느슨하게 언급한다.

선형 대수

과학 프로그래밍 언어는 선형 대수학을 다룰 수 있는 기능을 제공합니다.예를 들어, 다음 Julia 프로그램은 선형 방정식의 시스템을 해결합니다.

A = 랜드(20, 20)  # A는 20x20 매트릭스입니다. b = 랜드(20)      # b는 20자리 벡터입니다. x = A\b           # x는 A*x = b의 솔루션 

선형 대수가 수학적 최적화의 기반을 마련하고, 이는 러닝과 같은 주요 애플리케이션을 가능하게 하기 때문에 큰 벡터 및 행렬을 사용하는 것이 이러한 언어의 핵심 특징이다.

수학적 최적화

과학 프로그래밍 언어에서는 수학 언어에 가까운 구문을 사용하여 함수 최적화를 계산할 수 있습니다.예를 들어, 다음 Julia 코드P ( , ) - y + y - 7 + 3 \ P , y )^ {2} - + 5y 2} - +3을 구한다.

사용. 최적  P(x,y) = x^2 - 3x*y + 5y^2 - 7y + 3  할 수 있다 = [ 0.0        0.0 ]     최적화 알고리즘의 시작점 수  최적화(z -> P(z...), 할 수 있다, 뉴턴 경이다.();          오토디프 = :전송신) 

예에서는 최소화를 위한 뉴턴의 방법이 사용됩니다.현대의 과학 프로그래밍 언어는 자동 미분을 사용하여 입력으로 주어진 함수의 기울기와 헤시안(cf. 미분 가능 프로그래밍)을 계산합니다.여기에서는, 그 태스크에 대해서 자동 전송 차별화가 선택되고 있습니다.오래된 Fortran과 같은 오래된 과학 프로그래밍 언어에서는 프로그래머가 최적화할 함수, 구배를 계산하는 함수, 헤시안 값을 계산하는 함수를 통과해야 합니다.

최소화할 함수에 대한 지식이 많아지면 보다 효율적인 알고리즘을 사용할 수 있습니다.예를 들어, 볼록 최적화는 함수가 볼록할 때 더 빠른 계산을 제공하고, 2차 프로그래밍은 함수가 변수에서 최대 2차일 때 더 빠른 계산을 제공하며, 함수가 가장 선형일 때 선형 프로그래밍을 제공합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Karakan, Burak (1 May 2020). "Python vs R for Data Science". Towards Data Science. Retrieved 13 May 2021.
  2. ^ "Definition of scientific language". PC Magazine Encyclopedia. Ziff Davis. Retrieved 13 May 2021.
  3. ^ "scientific language - Definition of scientific language". YourDictionary. The Computer Language Company Inc. Retrieved 27 March 2014.
  4. ^ Ning, Andrew. "Scientific Programming Languages". Flight, Optimization, and Wind Laboratory. Brigham Young University. Retrieved 13 May 2021.
  5. ^ Zachary, Joseph. "Introduction to Scientific Programming: Computational Problem Solving Using Maple and C". Joseph L. Zachary. University of Utah. Retrieved 13 May 2021.