양수에는 항상 두 개의 실수근이 있습니다. 예를 들어 x2가 25이면 x는 ±5입니다. 그러나 x2가 -25이면 실제 근은 존재하지 않습니다. 음수의 제곱근은 절대값의 제곱근에 허수 단위 j =√−1을 곱한 값입니다.
따라서 √−25 =√25 𝑋−1 =√25 × √−1 =5j
복소수는 실수와 허수 성분으로 구성됩니다. x+yj로 표시됩니다. x와 y는 모두 실수입니다. Y에 허수 단위를 곱하면 복소수의 허수가 됩니다.
예:3+2j, 10-5.5J, 9.55+2.3j, 5.11e-6+4j
Python에는 복잡한 데이터 유형이 내장되어 있습니다. 복소수 객체는 다음과 같이 리터럴 표현으로 생성할 수 있습니다. -
>>> x = 2+3j >>> type(x)
복소수 개체에는 실수 속성이 두 개 있습니다. (실제 구성 요소를 반환) 및 img (허수 단위 j를 제외한 허수 구성 요소를 반환)
>>> x.real 2.0 >>> x.imag 3.0
conjugate()도 있습니다. 방법. 복소수의 켤레는 부호가 반대인 실수 성분과 허수 성분이 같습니다. 따라서 2+3j의 켤레는 2-3j입니다.
>>> x.conjugate() (2-3j)
파이썬에는 또한 복소수 객체를 반환하는 내장 complex() 함수가 있습니다. 이 함수는 실수 및 허수 성분에 대해 각각 하나씩 두 개의 매개변수를 취합니다. 모든 숫자 유형(int, float 또는 complex)일 수 있습니다.
>>> complex(9,5) (9+5j) >>> complex(-6, -2.5) (-6-2.5j) >>> complex(1.5j, 2.5j) (-2.5+1.5j)
매개변수가 하나만 주어지면 실수 성분으로 처리되고 허수 성분은 0으로 간주됩니다.
>>> complex(15) (15+0j)
함수는 숫자 표현을 포함하는 경우 문자열을 인수로 사용할 수도 있습니다.
>>> complex('51') (51+0j) >>> complex('1.5') (1.5+0j)
복소수의 덧셈과 뺄셈은 정수나 실수의 덧셈과 뺄셈과 비슷합니다. 실수부와 허수부가 따로따로 가감됩니다.
>>> a = 6+4j >>> b = 3+6j >>> a+b (9+10j) >>> a-b (3-2j)
곱셈의 경우 복소수를 이항으로 간주하고 첫 번째 숫자의 각 항에 두 번째 숫자의 각 항을 곱합니다.
a = 6+4j b = 3+2j c = a*b c = (6+4j)*(3+2j) c = (18+12j+12j+8*-1) c = 10+24j
Python 콘솔에서 결과는 다음을 확인합니다 -
>>> a = 6+4j >>> b = 3+2j >>> a*b (10+24j)
복소수의 나눗셈은 다음과 같이 수행됩니다 -
두 숫자를
a =2+4j
b =1-2j
/b를 계산하고 싶습니다.
1+2j인 분모의 켤레 구하기
분자와 분모에 켤레 곱하기 나눗셈의 결과를 얻기 위한 분모의
c = a/b c = (2+4j)*(1+2j)/(1-2j)(1+2j) c = (2+4j+4j+8*-1)/(1+2j-2j-4*-1) c = (-6+8j)/5 c = -1.2+1.6j
다음 Python 콘솔 세션은 위의 처리를 확인합니다.
>>> a = 2+4j >>> b = 1-2j >>> a/b (-1.2+1.6j)
cmath 모듈
파이썬 표준 라이브러리의 수학 모듈에 정의된 수학 함수는 부동 소수점 숫자를 처리합니다. 복소수의 경우 Python 라이브러리에 cmath 모듈이 포함되어 있습니다.
복소수 z =x+yj는 데카르트 표현입니다. 내부적으로는 모듈러스 r(내장 abs() 함수에 의해 반환됨)과 위상각 Φ(파이로 발음됨)로 극좌표로 표현되며, 이는 x축과 x를 다음과 연결하는 선 사이의 라디안 단위입니다. 기원. 다음 다이어그램은 복소수의 극좌표 표현을 보여줍니다 -
cmath 모듈의 기능을 사용하면 데카르트 표현을 극 표현으로 또는 그 반대로 변환할 수 있습니다.
극() - 이 함수는 복소수의 데카르트 표기법의 극좌표 표현을 반환합니다. 반환 값은 모듈러스와 위상으로 구성된 튜플입니다.
>>> import cmath >>> a = 2+4j >>> cmath.polar(a) (4.47213595499958, 1.1071487177940904)
모듈러스는 abs() 함수에 의해 반환됩니다.
>>> abs(a) 4.47213595499958
단계() − 이 함수는 x축과 a를 결합하는 세그먼트 사이의 반시계 방향 각도를 반환합니다. 원산지. 각도는 라디안으로 표시되며 π와 -π 사이입니다.
>>> cmath.phase(a) 1.1071487177940904 z = x+yj Φ
직사각형() − 이 함수는 극성 형식, 즉 모듈러스 및 위상으로 표현된 복소수의 데카르트 표현을 반환합니다.
>>> cmath.rect(4.47213595499958, 1.1071487177940904) (2.0000000000000004+4j)
cmath 모듈은 math 모듈에 정의된 모든 수학 함수에 대한 대안을 포함합니다. 아래와 같이 삼각함수와 대수함수가 있습니다 -
cmath.sin() − 이 함수는 라디안으로 표시되는 위상각에 대한 사인 삼각비를 반환합니다.
>>> import cmath >>> a = 2+4j >>> p = cmath.phase(a) >>> cmath.sin(p) (0.8944271909999159+0j)
유사하게, 다른 비율 cos(), tan(), asin(), acos() 및 atan()에 대한 함수는 cmath 모듈에 정의되어 있습니다.
cmath.exp() − math.exp()와 유사하게 이 함수는 x가 복소수이고 e가 2.71828인 경우 ex를 반환합니다.
>>> cmath.exp(a) (-1.1312043837568135+2.4717266720048188j)
cmath.log10() − 이 함수는 밑이 10인 복소수의 로그 값을 계산합니다.
>>> a = 1+2j >>> cmath.log10(a) (0.3494850021680094+0.480828578784234j)
cmath.sqrt() − 이 함수는 복소수의 제곱근을 반환합니다.
>>> cmath.sqrt(a) (1.272019649514069+0.7861513777574233j)
이 기사에서 우리는 Python의 복소수 데이터 유형의 중요한 기능과 산술 연산을 수행하는 방법을 배웠습니다. cmath 모듈에 정의된 다양한 기능도 살펴보았습니다.