미분적분학 2 을위한 SageMath TM 기본사용법 강원대학교자연과학대학수학과 Copyright

Similar documents
01

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

<B1B9BEEE412E687770>

벡터(0.6)-----.hwp

제 2 교시 2019 학년도 3 월고 1 전국연합학력평가문제지수학영역 1 5 지선다형 1. 의값은? [2점] 일차방정식 의해는? [2 점 ] 두수, 의최대공약수는? [2 점 ] 일차함수 의그래프에서

제 12강 함수수열의 평등수렴

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

고 학년도 9월고수학 1 전국연합학력평가영역문제지 1 1 제 2 교시 수학영역 5 지선다형 3. 두다항식, 에대하여 는? [ 점 ] 1. 의값은? ( 단, ) [ 점 ] 다항식 이 로인수분해될때, 의값은? ( 단,,

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

함수 좌표평면에서 함수 미적분 Ⅱ 1. 여러가지적분법 삼각함수의부정적분 의도함수가 sin 일때, 의값 은? [3점][2011( 가 ) 10월 / 교육청 4] 지수함수의부정적분 가모든실수에서연속일때, 도함수 가 > 이다. 일때, 의

제 3강 역함수의 미분과 로피탈의 정리

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의

스무살, 마음껏날아오르기위해, 일년만꾹참자! 2014학년도대학수학능력시험 9월모의평가 18번두이차정사각행렬 가 를만족시킬때, 옳은것만을 < 보기 > 에서있는대로고른것은? ( 단, 는단위행렬이다.) [4점] < 보기 > ㄱ. ㄴ. ㄷ. 2013학년도대학수학능력시험 16번

6.6) 7.7) tan 8.8) 자연수 10.10) 부등식 두 의전개식에서 의계수는? ) 사건 에대하여 P P 일때, P 의값은? ( 단, 은 의여사건이다.) 일때, tan 의값은? log log 을만족시키

<BCF6B8AEBFB5BFAA28B0A1C7FC295FC2A6BCF62E687770>

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

2018 학년도대학수학능력시험문제지 1 제 2 교시 홀수형 5 지선다형 1. 두벡터, 모든성분의합은? [2 점 ] 에대하여벡터 의 3. 좌표공간의두점 A, B 에대하여선분 AB 를 으로내분하는점의좌표가 이다. 의값은? [2점] ln

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

2017 학년도대학수학능력시험문제지 1 제 2 교시 홀수형 5 지선다형 3. sin 의값은? [2점] 1. 두벡터, 모든성분의합은? [2 점 ] 에대하여벡터 의 lim 의값은? [2점] ln 두사건 와 는

MGFRSQQFNTOD.hwp

<B1B9BEEE412E687770>

= ``...(2011), , (.)''

슬라이드 1

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

7) 다음의 다음 9) 남학생과 9. zb 여학생 각각 명이 갖고 있는 여름 티 셔츠의 개수를 조사하여 꺾은선그래프로 나타낸 것 이다. 이 두 그래프의 설명으로 옳지 않은 것은? ㄱ. ㄴ. 회째의 수학 점수는 점이다. 수학 점수의 분산은 이다. ㄷ. 영어점수가 수학 점

7.7) 정의역이 8.8) 연속확률변수 10.10) 원점을 좌표평면에서 인함수 의그래프가그림 과같다. 9.9 ) 함수 의그래프와함수 의 그래프가만나는점을 라할때, 옳은것만을 < 보기 > 에서있는대로고른것은? lim lim 의값은? < 보기 > ㄱ. ㄴ

<B0F8BDC4C1A4B8AE2838C2F720BCF6C7D032292E687770>

<30325FBCF6C7D05FB9AEC7D7C1F62E687770>

2019 학년도대학수학능력시험문제및정답

일반각과호도법 l 삼각함수와미분 1. 일반각 시초선 OX 로부터원점 O 를중심으로 만큼회전이동한위치에동경 OP 가있을때, XOP 의크기를나타내는각들을 ( 은정수 ) 로나타내고 OP 의일반각이라한다. 2. 라디안 rad 반지름과같은길이의호에대한중심각의 크기를 라디안이라한

집합 집합 오른쪽 l 3. (1) 집합 X 의각원소에대응하는집합 Y 의원소가단하나만인대응을 라할때, 이대응 를 X 에서 Y 로의라고하고이것을기호로 X Y 와같이나타낸다. (2) 정의역과공역정의역 : X Y 에서집합 X, 공역 : X Y 에서집합 Y (3) 의개수 X Y

소성해석

<A1DAA1DAA1DA20C6DBC5AC20BCF6C7D020BFCFB7E E687770>

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

2020 학년도랑데뷰실전모의고사문제지 - 시즌 3 제 1 회 제 2 교시 수학영역 ( 나형 ) 1 5 지선다형 3. 그림은함수 를나타낸것이다 학년도 9월모의평가나형과싱크로율 99% 학년도수학영역대비랑데뷰실전모의고사가형-시즌1~ 시즌6, 나형-시즌

PSFZWLOTGJYU.hwp

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

슬라이드 1

FGB-P 학번수학과권혁준 2008 년 5 월 19 일 Lemma 1 p 를 C([0, 1]) 에속하는음수가되지않는함수라하자. 이때 y C 2 (0, 1) C([0, 1]) 가미분방정식 y (t) + p(t)y(t) = 0, t (0, 1), y(0)

슬라이드 1

곡선 7.7. 오른쪽그림과같이반지름의길이가각각 이고중심이같은세원으로이루어진과녁에총을쏠때, 색칠한부분을맞힐확률은? ( 단, 총알은과녁을벗어나지않고, 경계선에맞지않는다.) [3점] [PP 난이도중 ] [PP 18 문

함수공간 함수공간, 점열린위상 Definition 0.1. X와 Y 는임의의집합이고 F(X, Y ) 를 X에서 Y 로의모든함수족이라하자. 집합 F(X, Y ) 에위상을정의할때이것을함수공간 (function space) 이라한다. F(X, Y ) 는다음과같이적당한적집합과

5. 두함수 log 에대하여옳은것을 < 보기 > 에서모두고르면?5 ) ㄱ. ㄴ. ㄷ. < 보기 > 1 ㄴ 2 ㄷ 3 ㄱ, ㄴ 4 ㄴ, ㄷ 5 ㄱ, ㄴ, ㄷ 7. 인실수 에대하여 log 의지표를 이라할때, 옳 은것을보기에서모두고르면? ( 단, 는 를넘지않는최대의정수이다.

문항코드 EBS 수능완성수학영역수학 1 A 형 주어진그래프의꼭짓점에 를그림과같이 정하고꼭짓점사이의연결관계를행렬로나타내면다 음과같다. ( 나 ) 세수, 12, 는이순서대로등비수열을이룬다. 의값은? 문

1 peaieslvfp3 1. 두점사이의거리 수직선위의두점사이의거리를구할수있다. 좌표평면위의두점사이의거리를구할수있다. 수직선위의두점사이의거리 todrkrgo qhqtlek 오른쪽그림은충무로역을중심으로한서울시지하철 3`호선노선도의일부분이다. 충무로역을` 0, 을지로 3`

기본도형과작도 1 강 - 연습문제 1. 오른쪽그림과같이직선l 위에점,, 가있을때, 옳지않은것은? 1 = 2 = 3 = 직선l 4 = 5 = l 2. 오른쪽그림에서 = = 이다. 다음( ) 안에알맞은수를쓰시오. 1 =( 2 =( 3 =( 4 =( ) ) ) ) 3. 한평

Microsoft PowerPoint - LA_ch6_1 [호환 모드]

5.5) cos 6.6) 두 coscos 일때, sinsin 의값은? [3점] ) 일때, 방정식 의모든해의합은? [3 점 ] 1 4 sin cos 의값은? [3점] 1 ln 2 ln 3 ln 4 ln 5 ln 8.8 ) 벡터 에대하여

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

편입수학만점공식 위드유편입 1

제 5 일 년 3월교육청 년 6월평가원 년 9월평가원 년 11월교육청 년경찰대 년 3월교육청 년 6월평가원 년경찰대 년수능 년 10월교육청

7. 인실수 에대하여 log 의지표를 이라할때, 옳 은것을보기에서모두고르면? ( 단, 는 를넘지않는최대의정수이다.) 7 ) ㄱ. log ㄴ. log 의지표는 이다. ㄷ. log log 이면 은 자리의정수 이다. 10. 다음은어느인터넷사이트의지도상단에있는버튼의기능을설명한

Microsoft PowerPoint - Java7.pptx

제 5강 리만적분

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

5. 정적분 의값과반지름의길이가 인원의넓 이가같을때, 의값은? 7. 곡선 ln 와 축및 축으로둘러싸인도형의넓이 가 일때, 상수 의값은? ( 단, ) 에서정의된함수 의 그래프가오른쪽그림과같을때, 정적분 의값을구하면? 8. 함수 의

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

두 두 두 두 두 lim 1. 수열의극한 수열의극한에대한기본성질 1. 수열의극한 Ⅰ 수열의극한 5. 수열, 에대하여 lim, lim 이성 립할때, lim 의값은? [3 점 ][2015(A) 7 월 / 교육청 5] 의값은? [2 점 ][200

Microsoft PowerPoint - ch02-1.ppt

최종 고등수학 하.hwp

Intensive Math Class I 공간기하벡터 강사최석호 1. 단면은수직으로 A, B 두평면사이각의코사인값을구하시오

도형의닮음 1 강 - 닮은도형과닮음중심 사이버스쿨우프선생 닮음도형 : 일정한비율로확대또는축소하였을때닮음모양의도형 기호 : ABCD A'B'C'D' [ 예제 1 ] 그림에서와같이두닮은도형 ABCD 와 A'B'C'D' 에서대응점, 대

제 5 일 년 7월교육청 년 10월교육청 년수능 년 6월평가원 년 9월평가원 년 9월평가원 년수능 년경찰대 년수능 년 10월교육청

금오공대 컴퓨터공학전공 강의자료

미시경제학을위한기초수학 조남운 March 20, 함수 1.1 함수란무엇인가 여러분이미시경제학을배우면서미분을배우는이유는계산을통해함수의최대값이나최소값을구해야하기때문이다. 최대값이나최소값을구하기위해서는함수의미분을알

설계란 무엇인가?

- A 2 -

Chapter 연습문제답안. y *sin-*cos*^ep-*/sqrt. y [ ; sinpi/ ; sin*pi ; ] 혹은 [ sinpi/ sin*pi ]. a ais[- ] b et.,., sin. c.. a A는주어진행렬 M의 번째열만을표시하는새로운행렬을나타낸다.

2013 학년도수학성취도측정시험 (2013학년도수시모집및외국인특별전형합격자대상 ) 2012년 12월 18일, 고사시간 90분 1번부터 11번까지는단답형이고, 12번부터 16번까지는서술형입니다. 답안지는깨끗한글씨로바르게작성하되, 단답형은답만쓰고, 서술형은풀이과정과답을명시

수리영역 5. 서로다른두개의주사위를동시에던져서나온두눈의수의곱 이짝수일때, 나온두눈의수의합이 또는 일확률은? 5) 의전개식에서상수항이존재하도록하는모든자 연수 의값의합은? 7) 다음순서도에서인쇄되는 의값은? 6) 8. 어떤특산

1.1) 등비수열 전체집합 제 2 교시 나 형 2016 년 3 월고 3 모의고사문제지 수리영역 성명수험번호 3 1 먼저수험생이선택한응시유형의문제지인지확인하시오. 문제지에성명과수험번호를정확히기입하시오. 답안지에수험번호, 응시유형및답을표기할때는반드시 수험생이지켜야할일 에따

PowerPoint Presentation

수열의극한 수열의극한에서활용되는방법은크게다섯가지이다. ] 거미줄도형 ] 유계이론 ] 일반항 ] 부동점( 극한값) 활용 ] 샌드위치이론 ] 거미줄도형 가장첫번째로거미줄도형은대부분의경우수열의극한문제에서엄밀한증명을위해활용되기보다는수열이수렴하는지여부를판단하고수열의극한이존재한다

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - 26.pptx

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

PowerPoint Presentation

2020 학년도랑데뷰실전모의고사문제지 - 시즌 6 제 1 회 제 2 교시 수학영역 ( 가형 ) 1 5 지선다형 학년도 9월모의평가가형과싱크로율 99% 학년도수학영역대비랑데뷰실전모의고사가형-시즌1~ 시즌6, 나형-시즌1~ 시즌2 ( 각시즌 4회분 )

7. 다음그림과같이한변의길이 가 4 6 인마름모의넓이를구 하여라. 10. 다음그림과같이모선의길이가 6 cm 인원뿔의밑면의 둘레의길이가 6π cm 일때, 원뿔의높이와부피를구한 것은? 1 6 cm, 6 π cm 6 cm, 6π cm 8. 다음과같이한변의길이가 8 인정육 면

기하벡터 0816.hwp

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

4. [3 등급 60 초 ] 5. [3 등급 60 초 ] 6. [3 등급 60 초 ] 2

C 언어 프로그래밊 과제 풀이

2018년 수학성취도 측정시험 모범답안/채점기준/채점소감 (2018학년도 수시모집, 정시모집 및 외국인특별전형 합격자 대상) 2018년 2월 13일, 고사시간 90분 2018년 1번 x3 + x2 + x 3 = x 1 x2 1 lim. [풀이] x3 + x2 + x 3

지구에서달까지의거리는얼마일까? ( Hipparchos ;? ~? B. C. 125 ) ( Rheticus, G. K. ; 1514~1576 ) ( Fourier, J. B. J. ; 1768 ~ 1830 )

PowerPoint 프레젠테이션

statistics

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint Presentation

Java ...

PowerPoint 프레젠테이션

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>

(001~006)개념RPM3-2(부속)

OCW_C언어 기초

PARUEFQXXISK.hwp

Microsoft Word - 5장_보&골조.doc

실험 5

3. 방정식 이나타내는도형은?3) 1 중심이 이고지름이 인원 3 중심이 이고지름이 인원 5 중심이 이고지름이 인원 2 중심이 이고지름이 인원 4 중심이 이고지름이 인원 4. 다음원의방정식의중심의좌표와반지름의길이를구하시오.4) 5. 원 에대한설명이다. < 보기 > 에서옳

Transcription:

미분적분학 2 을위한 SageMath TM 기본사용법 강원대학교자연과학대학수학과 Copyright 2018.08.21

목차 1. 수열과급수 1.1 수열의극한 1.2 무한급수 1.3 급수판정법 1.4 거듭제곱급수, 테일러급수, 매클로린급수 01 01 03 04 07 2. 매개방정식과극좌표 2.1 매개곡선의그래프그리기 2.2 매개곡선의미분 2.3 극좌표, 극좌표에서의넓이과길이 13 13 16 18 3. 벡터와공간기하학 3.1 벡터의정의와연산 3.2 직선과평면의방정식 22 22 25 4. 삼차원공간에서의그래프 4.1 이변수함수의그래프그리기 4.2 등위곡선그리기 4.3 매개곡선의그래프그리기 4.4 음함수의삼차원그래프그리기 4.5 그밖의삼차원그래프그리기 27 27 30 32 35 35

5. 편도함수 5.1 편도함수 5.2 접평면과선형근사 5.3 방향도함수와물매벡터 5.4 최댓값과최솟값 37 37 38 40 43 6. 다중적분 6.1 이중적분 6.2 삼중적분 6.3 다중적분에서의변수변환 47 47 53 59

제 1 장 수열과급수 1.1 수열의극한 주어진수열의처음몇개의항들을나타내기위해다음과같은명령어를사용해 보자. ( 아래그림의 n 을옮겨주면각각의항들을볼수있다.) sage : var('n,i') sage : @interact() sage : def _(n=slider(1,100,1)): sage : for i in srange(1,n+1,1): sage : print 5*i-3 이번에는수열 을그래프로나타내어수렴 / 발산을결정해보자. sage : var('x, i, n') sage : f(x)=(1-x^3)/(2+3*x^2) sage : p = plot(f(x), (x, 1, 15), color='red') sage : q = list_plot([(i,f(i)) for i in range(1, 16, 1)], color='blue') sage : p+q 아래그림에서파란색점은수열의각항을나타내는데, 이를살펴보면수열 은 로발산하는것처럼보인다. - 1 -

이는다음과같은명령어로확인할수있다. sage : limit((1-n^3)/(2+3*n^2), n=+oo) -Infinity 다음은진동하는수열 을그래프로나타내보자. sage : var('x, i, n') sage : f(x)=x^2/(3+2*x^2) sage : p=plot(f(x), (x, 1, 20), color= red ) sage : q=plot((-1)*f(x), (x, 1, 20), color= red ) sage : r=list_plot([((-1))^i*f(i) for i in range(0, 21, 1)], color= blue ) sage : p+q+r - 2 -

1.2 무한급수 수열 의항들을더한것을무한급수또는급수라하고, 으로나타낸다. 급수의합은 sum 명령어로구할수있다. 예를들어, 급수 의합을구한다고하자. sage : var('n') sage : sum(1/(2^n),n,1,+oo) 1 sage : var('k,n') sage : sn=sum(1/(2^k),k,1,n) sage : limit(sn,n=+oo) 1 위와같이무한까지의합을바로구하거나부분합의극한으로급수의합을찾을수 있다. 다음의급수들을살펴보고그합을구해보자. sage : sum(1/(n*(n+1)),n,1,+oo) 1 sage : sum(5*(-2/3)^(n-1),n,1,+oo) 3 sage : sn=sum(1/k,k,1,n) sage : limit(sn,n=+oo) limit(harmonic_number(n), n, +Infinity) - 3 -

sage : sn=sum(1/(k^2),k,1,n) sage : limit(sn,n=+oo) limit(harmonic_number(n, 2), n, +Infinity) 이와같이 Sage 에서는정확한급수의합을찾기어려운경우세번째와네번째의 메시지가나온다. 세번째와네번째예제에서부분합 의값들을살펴보자. sage : var('k') sage : A=[ ['n','1/n','1/(n^2)'] ] sage : x=[5,10,50,100,1000,10000] sage : B=[ (n, N(sum(1/k,k,1,n)),N(sum(1/k^2,k,1,n))) for n in x] sage : table(a+b,header_row=true, frame=true, align='center') 위의결과를살펴보면, 급수 은수렴하지않는것처럼보이고급수 은 수렴하는것처럼보인다. 실제로급수 은 로발산하고급수 은 으로수렴한다. 1.3 급수판정법 일반적으로급수의정확한합을찾기는어렵다. 이번절에서는다음과같이간단히 사용할수있는급수판정법으로급수의수렴 / 발산을결정해보자. - 4 -

적분판정법 함수 는 에서연속이고양수이며감소한다고하자. 그리고 라하자. 그러면 이수렴하기위한필요충분조건은 가수렴하는것이다. 비율판정법 (ⅰ) lim (ⅱ) lim (ⅲ) lim 이면, 은수렴한다. 또는 lim 이면, 은발산한다. 이면, 은비율판정법으로수렴 / 발산을결정할수없다. 다음은적분판정법을이용하여급수 이수렴함을보이는것이다. sage : f(x)=1/(x^2) # f(x) 는 x>1일때양수인함수 sage : df=diff(f(x),x);df # x>1 일때도함수가음수이므로감소함수 -2/x^3 sage : integral(f(x),x,1,+oo) 1 마찬가지로, 다음급수들에대하여수렴 / 발산을판단해보자. ln sage : f(x)=log(x)/x # f(x) 는 x>2일때양수인함수 sage : df=diff(f(x),x);df # x>2 일때도함수가음수이므로감소함수 -log(x)/x^2 + 1/x^2 sage : integral(f(x),x,2,+oo) Traceback (click to the left of this block for traceback)... ValueError: Integral is divergent. - 5 -

ln sage : f(x)=1/(x*log(x)^2) # f(x) 는 x>2일때양수인함수 sage : df=diff(f(x),x);df # x>2 일때도함수가음수이므로감소함수 -1/(x^2*log(x)^2) - 2/(x^2*log(x)^3) sage : integral(f(x),x,2,+oo) 1/log(2) sage : var('n') sage : u(n)=2^n*factorial(n)/n^n sage : limit(u(n+1)/u(n), n=+oo) 2*e^(-1) sage : bool(2*e^(-1)<1) True 다음으로교대급수판정법을이용하여급수 이수렴함을보이자. sage : var('n') sage : a(n) = (-1)^n/factorial(n) sage : b(n) = 1/factorial(n) sage : (b(n)/b(n+1)).simplify_full() n + 1 sage : limit(b(n),n=+oo) 0 모든 에대하여 이고수열 의극한값이 이므로교대급수판정에의해 급수 은수렴한다. 이때급수의합은다음과같이구할수있으며, 아래 그래프로부터급수의항들을계속더해가면급수의합에근접함을볼수있다. sage : s=sum(a(n),n,0,+oo); s e^(-1) sage : var('i,n') sage : p=plot(s, (x, 1, 10), color='red') sage : q=list_plot([sum(a(i),i,0,n) for n in range(0,11,1)], color='blue') sage : p+q - 6 -

1.4 거듭제곱급수, 테일러급수, 매클로린급수 거듭제곱급수 여기서변수 에고정된값을대입하면상수의급수이고, 이에대한수렴여부를 판정할수있다. 거듭제곱급수는 의일부값에서는수렴하고 의다른값에서는 발산할수있다. 이때다음세가지중에서하나만성립한다. (ⅰ) 일때만수렴한다. (ⅱ) 의모든값에대해수렴한다. (ⅲ) 적당한양수 이존재하여 일때수렴하고 일때발산한다. 이때양수 을수렴반지름이라고한다. 비율판정법을이용하여거듭제곱급수의수렴반지름을구해보자. sage : var('n') sage : a(n)=(-3)^n/sqrt(n+1) sage : R=limit(abs(a(n)/a(n+1)), n=+oo); R # R은수렴반지름이다. 1/3-7 -

sage : var('n') sage : a(n)=n/3^n sage : R=limit(abs(a(n)/a(n+1)), n=+oo); R # R은수렴반지름이다. 3 어떤함수들은거듭제곱급수로표현할수있다. 이경우함수를거듭제곱급수의 부분합으로근사할수있는데, 이를테일러다항식이라한다. 다음급수를살펴보자. sage : var('n,x') sage : assume(abs(x)<1) sage : sn=sum(x^n, n, 0, oo) sage : s2=sum(x^n, n, 0, 2) # 2차항까지의합 sage : s5=sum(x^n, n, 0, 5) # 5차항까지의합 sage : s8=sum(x^n, n, 0, 8) # 8차항까지의합 sage : pn=plot(1/(1-x),x,-1.2,1,legend_label='$1/(1-x)$') sage : p2=plot(s2,x,-1.2,1,color='black',linestyle='--',legend_label='$s_2=1+x+x^2$') sage : p5=plot(s5,x,-1.2,1,color='red',linestyle='-.',legend_label='$s_5=1+x+...+x^5$') sage : p8=plot(s8,x,-1.2,1,color='green',linestyle=':',legend_label='$s_8=1+x+...+x^8$') sage : (pn+p2+p5+p8).show(ymax=5) - 8 -

위의그래프를살펴보면, 수렴범위안에서차수가올라갈수록테일러다항식이 에더가까워짐을알수있다. 다음급수에대해서도비슷한현상이발생함을확인하자. sage : var('n,x') sage : forget() # 이전의 assume 을제거한다. sage : assume(abs(x)<1) sage : sn=sum((-x^2)^n, n, 0, oo) sage : s2=sum((-x^2)^n, n, 0, 2) # 2차항까지의합 sage : s5=sum((-x^2)^n, n, 0, 5) # 5차항까지의합 sage : s8=sum((-x^2)^n, n, 0, 8) # 8차항까지의합 sage : pn=plot(1/(1+x^2),x,-1.2,1,legend_label='$1/(1-x)$') sage : p2=plot(s2,x,-1.2,1,color='black',linestyle='--',legend_label='$s_2=1-x^2+x^{4}$') sage : p5=plot(s5,x,-1.2,1,color='red',linestyle='-.',legend_label='$s_5=1-x^2+...-x^{10}$') sage : p8=plot(s8,x,-1.2,1,color='green',linestyle=':',legend_label='$s_8=1-x^2+...+x^{16}$') sage : (pn+p2+p5+p8).show(ymin=-1,ymax=2) 에서 의테일러급수는 은 이다. 테일러급수의부분합 인데, 이를 에서 의 차테일러다항함수라고한다. - 9 -

함수 의그래프를그려보고, 의테일러다항식의차수가올라가면서어떤 현상이일어나는지관찰해보자. sage : var('x') sage : x0 = 0 sage : f = exp(x) sage : p = plot(f,-6,3) sage : dot = point((x0,f(x=x0)),pointsize=60,rgbcolor=(1,0,0)) sage : @interact sage : def _(n=(1..12)): sage : ft = f.taylor(x,0,n) sage : pt = plot(ft,-6, 3, color='green',linestyle='--') sage : show(dot + p + pt, ymin = -1, ymax = 20) 이번에는조금더복잡한함수 cos 에대하여 의그래프와테일러 다항함수의그래프를한화면에그려보자. sage : var('x') sage : x0 = 0 sage : f = exp(-x^2)*cos(x) sage : A=[(f).taylor(x,x0,n) for n in range(2,11,2)] sage : table(a, frame=true, align='center') - 10 -

sage : p=plot(f,-2,2) sage : p1=plot(a[0],-2,2,color='black',linestyle='--',legend_label='$s_2') sage : p2=plot(a[1],x,-2,2,color='red',linestyle='-.',legend_label='$s_4') sage : p3=plot(a[2],x,-2,2,color='blue',linestyle=':',legend_label='$s_6') sage : p4=plot(a[3],x,-2,2,color='purple',linestyle='--',legend_label='$s_8') sage : p5=plot(a[4],x,-2,2,color='green',linestyle='-.',legend_label='$s_10') sage : (p+p1+p2+p3+p4+p5).show(ymin='-1',ymax='2') 거듭제곱급수는직접적분하기어려운함수의적분을근사적으로계산하는데유용 하게쓸수있다. 부정적분 와정적분 의예를살펴보자. sage : var('x') sage : f(x)=exp(-x^2) sage : integral(exp(-x^2),x) 1/2*sqrt(pi)*erf(x) 부정적분 를초등함수들로표현하지못하므로, 우리가알지못하는함수 erf(x) 로표현된결과가나온다. 이때테일러다항식을이용하여근사적으로부정 적분을구하면, 차수가높아질수록 의그래프와비슷해짐을알수있다. sage : x0 = 0 sage : int_f=integral(exp(-x^2)) sage : p= plot(int_f,-5,5) sage : @interact sage : def _(n=range(1,15,3)): sage : ft = f.taylor(x,x0,n) sage : int_ft=integral(ft) - 11 -

sage : pt = plot(int_ft,-5, 5, color='red',linestyle='--') sage : show(p + pt, ymin = -4, ymax = 4) 다음은정적분 의근사값을오차 의범위에서찾아보자. sage : f(x)=exp(-x^2) sage : ft = f.taylor(x,0,6) sage : A=[(f).taylor(x,x0,n) for n in range(2,8)] sage : table(a, frame=true, align='center') 위의결과로부터 의테일러다항식들이항상짝수차수임을알수있다. 따라서근사값의오차를줄이기위해테일러다항식의차수를높일때, 차수를 1 이 아니라 2 만큼증가시킨다. sage : ep=0.001; n=2 sage : a1=integral(f.taylor(x,0,0),x,0,1) sage : a2=integral(f.taylor(x,0,n),x,0,1) sage : while True: sage : if abs(a1-a2)<=ep: break sage : n=n+2 sage : a1=a2 sage : a2=integral(f.taylor(x,0,n),x,0,1) sage : N(a1, digits=4) 0.7475-12 -

제 2 장 매개방정식과극좌표 2.1 매개곡선의그래프그리기 와 가매개변수라부르는제 3의변수 에의해다음과같이정의된다고하자. 이방정식을매개변수방정식이라하고, 가변함에따라좌표평면에그리는곡선을매개변수곡선또는매개곡선이라한다. 다음예제를통해매개방정식의곡선을표현해보자. 먼저 t 를 var 명령어로변수를 지정하고 x 와 y 를각각 t 에대한함수로지정한다. sage : var('t,x,y') sage : x=cos(t) sage : y=sin(t) sage : a=0 # t의최솟값 sage : b=2*pi # t의최댓값 sage : parametric_plot((x, y),(t, a, b)) 위의예제는우리가많이접해본단위원의매개변수방정식이다. 이번에는매개 방정식이 인곡선을그려보고, 가증가함에따라 곡선위의점이어느방향으로이동하는지표시해보자. - 13 -

sage : var('t,x,y') sage : x=t^2-2*t sage : y=3-t sage : a=0 # t의최솟값 sage : b=3 # t의최댓값 sage : p=parametric_plot((x, y),(t, a, b)) sage : small=0.001 sage : step=0.25 # t가 0.25마다하나의화살표를표시 sage : n=(b-a)/step # 화살표의총개수 sage : arr=sum([arrow((x(t=a+i*step), y(t=a+i*step)), (x(t=a+i*step+small), y(t=a+i*step+small))) for i in range(1,n) ]) sage : p+arr 매개방정식에서매개변수 를소거하면위의곡선은포물선임을쉽게알수있다. 위의예제들은우리에게친숙한곡선들로손쉽게그릴수있으나다음과같은매개 곡선들은손으로그리기가사실상불가능하다. sin sin cos sage : var('t,x,y') sage : x= sin(t)-sin((2.3)*t) sage : y= cos(t) sage : a=0 # t의최솟값 sage : @interact sage : def _(n=(1..12)): sage : b=2*n*pi # t의최댓값 sage : p=parametric_plot((x, y),(t, a, b)) sage : show(p) - 14 -

sin cos sin cos sin cos sage : var('t,x,y') sage : x= sin(t)+(1/2)*sin(5*t)+(1/4)*cos((2.3)*t) sage : y= cos(t)+(1/2)*cos(5*t)+(1/4)*sin((2.3)*t) sage : a=0 # t의최솟값 sage : @interact sage : def _(n=(1..12)): sage : b=2*n*pi # t의최댓값 sage : p=parametric_plot((x, y),(t, a, b)) sage : show(p) - 15 -

2.2 매개곡선의미분 2.2.1 접선 매개곡선 에대한접선의기울기는다음과같다. ( 단, ) 다음과같이 로정의된매개곡선위의점 (3,0) 에서접선을구하고 이를그려보자. sage : var('t, x') sage : f(t)=t^2 sage : g(t)=t^3-3*t sage : dydx=diff(g(t), t)/diff(f(t), t) sage : solve([f(t)==3, g(t)==0],t) [[t == sqrt(3)], [t == -sqrt(3)]] sage : T1=dydx(sqrt(3));T2=dydx(-sqrt(3)) sage : p=parametric_plot((f(t), g(t)), (t, -2, 2)) sage : q=plot(t1*(x-3), (x, -3, 3), linestyle='--', color='red') sage : r=plot(t2*(x-3), (x, -3, 3), linestyle='--', color='red') sage : (p+q+r).show(figsize='5',ymin=-5,ymax=5) - 16 -

또한, 매개곡선에대한이계도함수는다음과같이찾을수있다. 이를이용하여매개곡선 볼록성을조사해보자. 에대한이계도함수를구하고, 곡선의 sage : var('t') sage : x(t)=t+exp(t) sage : y(t)=t-exp(t) sage : dy(t)=diff(y(t), t) sage : dx(t)=diff(x(t), t) sage : dydx=dy(t)/dx(t) sage : d2y=(diff(dydx, t)/dx(t)).factor(); d2y -2*e^t/(e^t + 1)^3 이때 d2y 가항상음수이므로, 위의매개곡선은모든실수 t 에서위로볼록이다. 2.2.2 넓이와호의길이 일때곡선 의아래의넓이는 이므로, 매개 곡선 아래의넓이는 로구할수있다. 또한호의길이도 로구할수있다. 예를들어, 굴렁쇠선 sin, cos 의한아치의넓이를구해보자. 여기서한아치의범위는 이다. sage : var('x,y,r,t') sage : x=r*(t-sin(t)) sage : y=r*(1-cos(t)) sage : a=0; b=2* pi sage : dxdt=diff(x,t); sage : integral(y*dxdt,t,0,2*pi) 3*pi*r^2-17 -

이번에는구간 에서매개곡선 cos sin 의길이를찾아보자. sage : var('x,y,t') sage : x=exp(t)*cos(t) sage : y=exp(t)*sin(t) sage : dxdt=diff(x,t); sage : dydt=diff(y,t); sage : integral(sqrt(dxdt^2+dydt^2),t,0,pi) sqrt(2)*e^pi - sqrt(2) 2.3 극좌표, 극좌표에서의넓이과길이 2.3.1 극좌표와직교좌표 직교좌표 와극좌표 의관계식은다음과같다. cos sin 또는 tan 명령어 def 를사용하여극좌표를직교좌표로바꾸는함수를정의해보자. sage : def Polar(r, theta): sage : # 극좌표를직교좌표로바꾸는함수의정의 sage : CartC = ([r*cos(theta), r*sin(theta)]); sage : return CartC; sage : pt=polar(4, pi/4); sage : vector(pt) (2*sqrt(2), 2*sqrt(2)) 다음은직교좌표를극좌표로바꾸는함수이다. sage : def Cart2Pol(x, y): sage : # 직교좌표를극좌표로바꾸는함수정의 sage : r=sqrt(x^2+y^2) sage : if x<0: sage : theta=arctan(y/x)+pi sage : else: sage : theta=arctan(y/x) sage : PolC = ([r, theta]) sage : return PolC sage : pt=cart2pol(sqrt(3), -1) sage : vector(pt).simplify_full() (2, -1/6*pi) - 18 -

2.3.2 극곡선의호의길이와넓이 극방정식이 로주어지는극곡선을그리는명령어는 polar_plot이다. 이를이용하여극곡선 cos 를그려보자. 그래프를그릴때정의역과치역의범위의차이가많이나면그래프가실제와다른모양으로보일수있는데, 아래와같이 aspect_ratio 옵션을사용하여 축과 축의비율을맞춰주면된다. sage : var('theta') sage : polar_plot(1-2*cos(theta), (0, 2*pi)).show(aspect_ratio=1, xmin=-4, xmax=4, ymin=-4, ymax=4) 극곡선 의넓이는 이고, 호의길이는 이다. 예를들어, 극곡선 cos 로둘러싸인영역의넓이를구해보자. sage : var('r,t') sage : r=cos(2*t) sage : p=polar_plot(r, (0, 2*pi)) sage : q=polar_plot(r, (-pi/4, pi/4),color='black', thickness=2, fill=true, fillcolor='orange') sage : (p+q).show(aspect_ratio=1) 이때한영역의범위는그래프의색칠해진부분이며 이다. 따라서 한영역의넓이는다음과같다. - 19 -

sage : integral((1/2)*r^2, t,-pi/4,pi/4) 1/8*pi 이번에는심장선 sin 를그리고, 그길이를구해보자. sage : var('r,t') sage : r=1+sin(t) sage : polar_plot(r, (0, 2*pi)) sage : f(t)=sqrt(r^2+diff(r,t)^2).simplify_full(); # 피적분함수 sage : show(f) t -> sqrt(2*sin(t) + 2) sage : integral(f(t),t,0,2*pi) # 손으로적분하면 8이나오는데... 테일러급수를이용하여적분 sin 의근사값을구할수도있다. 이때 유의할점은, 피적분함수 sin 가점 에서미분가능하지않으므로 - 20 -

구간 에서테일러급수를이용하면부정확한결과를얻는다는것이다. ( 와 테일러다항식의그래프를그려비교해보라!) 점 을피하기위해적분을 sin sin 로쓴다음, 구간 에서테일러급수를이용해보자. ( 구간이원점에대해대칭이므로홀수차수의항들은적분하면 이된다. 따라서, 차수를 2씩증가시켜야더정확한근사값이얻어진다.) sage : a1=integral(f.taylor(t,0,0),t,-pi/2,pi/2) sage : n=2 sage : ep=1e-10 # 오차범위 sage : while True: sage : a2=integral(f.taylor(t,0,n),t,-pi/2,pi/2) sage : if abs(a1-a2)<=ep: break sage : n=n+2 # 차수가 2씩증가함 sage : a1=a2 sage : N(2*a2) 8.00000000000023 넓이와호의길이는피적분함수에제곱근이들어있어정확한적분을구하는것이 불가능한경우가많이발생한다. 이런경우에는수치적분을이용하거나위와같이 거듭제곱급수를이용하여적분의근삿값을구하면된다. - 21 -

제 3 장 벡터와공간기하학 3.1 벡터의정의와연산 Sage 에서는 n 개의성분들을갖는벡터를 vector([x1, x2,..., xn]) 으로정의한다. sage : a=vector([1, 2]); b=vector([-2, 4]) sage : a+b # 벡터의합 (-1, 6) sage : a-b # 벡터의차 (3, -2) sage : -2*a # 벡터의스칼라배 (-2, -4) sage : norm(a) # 벡터의크기 ( 길이 ) a.norm( ) 또는 abs(a) 로표현가능 sqrt(5) sage : u=a/norm(a); u #a와같은방향의단위벡터 (1/5*sqrt(5), 2/5*sqrt(5)) 벡터를그리려면명령어 plot 또는 arrow 를사용한다. plot 에서는시점이항상원점 이지만 arrow 에서는시점과종점을지정할수있다. sage : p=plot(a, color='red') + plot(b) + plot(a+b, color='black') sage : q=arrow(a,a+b,linestyle='--',color='red') + arrow(b,a+b,linestyle='--',color='blue') sage : p+q - 22 -

두벡터 와 의내적은다음과같이정의된다. Sage 에서는 a.dot_product(b) 또는 a.inner_product(b) 로계산한다. sage : a=vector([5, -3]) sage : b=vector([4, 6]) sage : a.dot_product(b) 2 sage : b.dot_product(a) # 내적은교환법칙이성립한다. 2 sage : a=vector([2, 2, -1]) sage : b=vector([5, -3, 2]) sage : ab=a.dot_product(b) sage : an=a.norm() sage : bn=b.norm() sage : theta=arccos(ab/(an*bn)); N(theta) # 벡터 a와 b 사이의각 1.46243678131095 아래그림에서두벡터 와 의시점은모두 이다. 이때 에서 를포함한직선에내린수선의발을 라하면, 벡터 를 위로의 의정사영이라고하며 이는 proj 로나타낼수있다. sage : a=vector([3, -1]) sage : b=vector([2, 1]) sage : ab=a.inner_product(b) sage : aa=a.inner_product(a) sage : p=ab/aa*a; p (3/2, -1/2) - 23 -

이번에는그래프로정사영을표현해보자. sage : u=plot(a,color='green')+plot(b,color='red') sage : v=line([b,p],linestyle='--',thickness='3') sage : w=plot(p,color='black') 삼차원벡터 와 의외적은다음과같이정의된다. Sage 에서는 a.cross_product(b) 로계산한다. 아래그림에서알수있듯이, 는 와 에모두수직이다. sage : a=vector([2, -1, 3]); b=vector([4, -1, 2]) sage : ab=a.cross_product(b);ab (1, 8, 2) sage : ba=b.cross_product(a);ba # 외적은교환법칙이성립하지않는다. (-1, -8, -2) sage : u=plot(a,color='green')+plot(b,color='red') sage : w=plot(ab,color='black') sage : (u+w).show(aspect_ratio=1) - 24 -

3.2 직선과평면의방정식 3.1.1 직선의방정식 좌표평면에서벡터 와방향이같고점 를지나는직선에대한매개방정식은다음과같다. ( 는실수 ) 삼차원공간에서직선의매개방정식은 성분을추가하여다음과같이표현한다. 예를들어, 점 를지나고벡터 와평행한직선의매개방정식을다음과같이찾아보자. sage : var('t') sage : r0=vector([1, 0, 2]) sage : v=vector([1, -3, 2]) sage : L=r0+t*v; L (t + 1, -3*t, 2*t + 2) 이와같이매개방정식을구한다음, parametric_plot3d 를사용하여 에 해당하는선분을그리고균일한간격으로 10 개의점들찍어본다. sage : p=parametric_plot3d(l, (t, -2, 2),color='red') sage : x = [-2+4*i/10 for i in [0..10]] #-2에서 2까지 10개로균등분할 sage : q=point([l(i) for i in x ],color='blue') # 10개의간격의점 sage : (p+q).show(figsize='4') - 25 -

3.2.2 평면의방정식 점 를지나고벡터 인평면의방정식은다음과같다. 또는 예를들어, 점 을지나고벡터 에수직인평면의방정식을 찾아보자. sage : var('x, y, z') sage : p=vector([x, y, z]) sage : a=vector([2, 4, -1]) sage : n=vector([2, 3, 4]) sage : pl=n.dot_product(p-a); pl # 평면의방정식의좌변 2*x + 3*y + 4*z 12 또한, 이평면이 축과만나는점을각각찾고이를그림으로나타내본다. sage : x0=solve((vector([x, 0, 0])-a).dot_product(n)==0,x); x0 # x절편 [x == 6] sage : y0=solve((vector([0, y, 0])-a).dot_product(n)==0,y); y0 # y절편 [y == 4] sage : z0=solve((vector([0, 0, z])-a).dot_product(n)==0,z); z0 # z절편 [z == 3] sage : u=implicit_plot3d(pl==0,(x,0,7),(y,0,5),(z,0,4)) sage : v=point([(6,0,0),(0,4,0),(0,0,3)], color='red', pointsize='10') sage : (u+v).show(figsize='4') - 26 -

제 4 장 삼차원공간에서의그래프 4.1 이변수함수의그래프그리기 직사각형영역 에서정의된이변수함수 의그래프를그리는 명령어는 plot3d(f(x,y),(x,a,b),(y,c,d)) 이다. Sage 에서는기본적으로 만변수로 인식하므로, 도변수로지정해야한다. 예를들어, 함수 의그래프를 에서그리는명령어와 결과는다음과같다. sage : var('x,y') sage : plot3d(x^2 + y^2, (x,-2,2), (y,-2,2)) 그래의왼쪽아랫부분에있는 옵션을사용할수있다. 클릭하고그래프에마우스우클릭을하면, 간단한 plot3d 는그래프의특성과관련된다양한옵션들이있는데, 이에대해알아보자. color: 그래프의색을지정한다. sage : plot3d(x^2+y^2, (x,-2,2), (y,-2,2), color='red') - 27 -

opacity: 0~1 사이의숫자로그래프의투명도를조절한다. sage : plot3d(x^2+y^2, (x,-2,2), (y,-2,2),color='red', opacity=0.8) aspect_ratio: 의비율을조절한다. sage : plot3d(x^2+y^2, (x,-2,2), (y,-2,2), aspect_ratio=(1,1,1)) - 28 -

sage : plot3d(x^2+y^2, (x,-2,2), (y,-2,2), aspect_ratio=(1,1,2)) mesh: 그래프에격자모양을넣는다. sage : plot3d( x^2 + y^2, (x,-2,2), (y,-2,2),mesh=true) adaptive: 그래프의함숫값이같은영역을같은색으로나타낸다. sage : plot3d( x^2 + y^2, (x,-2,2), (y,-2,2),adaptive=true) - 29 -

4.2 등위곡선그리기 이변수함수 의등위곡선은방정식이 인곡선이다. 여기서 는치역에 속한상수이다. sage 에서등위곡선을그리려면명령어 contour_plot 을쓴다. sage : var('x,y') sage : f(x,y)=4*x^2+y^2+1 sage : contour_plot(f, (x,-2,2), (y,-2,2)) 다음은 contour_plot 과함께사용되는관련된옵션들이다. colorbar=true : 음영의레벨을나타내어준다. sage : contour_plot(f, (x,-2,2), (y,-2,2), colorbar=true) fill=false : 기본적으로들어가는음영색을제거한다. - 30 -

contours=[ list ] : 등위곡선의치역의값을원하는값으로지정해준다. 값은세개이상지정해야한다. sage : contour_plot(f, (x,-2,2), (y,-2,2),colorbar=true, fill=false, contours=[1..10]) 옵션 fill=false 를사용하여음영색을제거하면, 때로는서로다른등위곡선들을 구분하기어려우므로선에다른색을넣는명령어를알아보자. cmap=[ list ]: 각각의선에색을넣어준다. 이때넣어주는색은 RGB로지정하거나내장 ( hsv, cool, 'winter') 로되어있는명령어를사용하면된다. sage : contour_plot(f, (x,-2,2), (y,-2,2), colorbar=true, fill=false, cmap=[(1,0,0),(0,1,0),(0,0,1)]) labels=true: 각등위곡선에치역의값을넣어준다. sage : f(x,y)=-x*y*exp(-x^2-y^2) sage : contour_plot(f, (x,-2,2), (y,-2,2), colorbar=true, fill=false, cmap='hsv', labels=true) - 31 -

이밖에 label_colors='color', label_inline=true 등등많은옵션들이있으니 필요에따라추가하면된다. (sage 명령창에서 contour_plot? 을입력해보라.) 4.3 매개곡선의그래프그리기 삼차원공간에서의곡선은매개방정식 로나타내어지는데, sage 에서는명령어 parametric_plot3d 를사용하여그릴수 있다. 이때 plot3d 에서쓰인옵션이동일하게적용된다. 특히, rgbcolor 는색을 바꾸는명령어로, (red,green,blue) 를 0~1 사이의숫자로지정할수있다. sage : var('t') sage : parametric_plot3d((sin(t), cos(t), t/10), (t,0,20)) - 32 -

sage : parametric_plot3d((sin(t), cos(t), t/10), (t,0,20), rgbcolor=(1,0,0)) 이번에는매개곡선 cos sin 의그래프를매개변수 가증가하는방 향과함께그려보자. (arrow3d 에대한설명은아래 4.5 절을참조 ) sage : var('t') sage : f(t)=cos(t); g(t)=sin(t); h(t)=t sage : a=0; b=4*pi sage : r=vector((f,g,h)) sage : C=parametric_plot3d(r, (t, a, b), color='red') sage : Dt=0.1 sage : Ar1=arrow3d(r(t=a+b*(1/8)),r(t=a+b*(1/8)+Dt),color='red') sage : Ar2=arrow3d(r(t=a+b*(4/8)),r(t=a+b*(4/8)+Dt),color='red') sage : Ar3=arrow3d(r(t=a+b*(7/8)),r(t=a+b*(7/8)+Dt),color='red') sage : Arr=Ar1+Ar2+Ar3 sage : C+Arr - 33 -

이곡선은 sin cos 인원기둥에놓이는데, 의값이커지면서 반시계방향으로소용돌이모양으로휘감으면서위로올라간다. sage : D=implicit_plot3d(x^2+y^2==1,(x,-1,1),(y,-1,1),(z,0,4*pi),opacity=0.8) sage : (C+D+Arr).show(figsize='4') 마지막으로, 매개곡선 cos ln 의그래프를그려보자. sage : var('t') sage : f(t)=cos(t); g(t)=log(3-t); h(t)=sqrt(t-1) sage : parametric_plot3d((f(t), g(t), h(t)), (t, 0, 2), color='red') 이러면복잡한오류메시지가나타난다. 함수의그래프를그릴때는항상정의역 범위를생각하면서그려야한다. 위의각성분함수들의정의역의교집합은 이므로, 매개변수 값의범위를이구간내로지정해야한다. sage : parametric_plot3d((f(t), g(t), h(t)), (t, 1, 2.5), color='red') - 34 -

4.4 음함수의삼차원그래프그리기 삼차원에서도음함수형태로되어있는식 의그래프를그릴수있다. ( 단, 는상수 ) 이때사용되는명령어는 implicit_plot3d 이다. 예를들어, 구 의그래프를그려보자. sage : var('x,y,z') sage : implicit_plot3d(x^2+y^2+z^2==4, (x,-3,3), (y,-3,3), (z,-3,3)) 4.5 그밖의삼차원그래프그리기 arrow3d: 벡터를그리는명령어이다. sage : arrow3d((0,0,0),(1,1,1)) - 35 -

point3d: 점을그리는명령어이다. sage : point3d((4,3,2), size=10, color='red ) - 36 -

제 5 장 편도함수 5.1 편도함수 다변수함수의편도함수는명령어일변수함수에서사용했던명령어 diff 를그대로 쓰면되는데, 이때어떤변수에관하여미분하는지지정해야한다. sage : var('x,y') sage : f(x,y)=4-x^2-2*y^2 sage : fx = diff(f(x,y),x); fx -2*x sage : fx.substitute(x=1,y=1) -2 sage : fy = diff(f(x,y),y); fy -4*y sage : fy.substitute(x=1,y=1); fy -4 이변수함수 를 와 에관하여여러번편미분하여얻는고계편도함수는 다음과같이찾을수있다. sage : f(x,y)=exp(x*y^2) sage : diff(f(x,y),x,2) #x에관해 2번편미분함. y^4*e^(x*y^2) sage : diff(f(x,y),y,y) #y에관해 2번편미분함. 4*x^2*y^2*e^(x*y^2) + 2*x*e^(x*y^2) sage : diff(f(x,y),x,y) #x에관해 1번, y에관해 1번편미분함. 2*x*y^3*e^(x*y^2) + 2*y*e^(x*y^2) sage : diff(f(x,y),x,2,y) #x에관해 2번, y에관해 1번편미분함. 2*x*y^5*e^(x*y^2) + 4*y^3*e^(x*y^2) sage : diff(f(x,y),x,2,y,3) #x에관해 2번, y에관해 3번편미분함. 8*x^3*y^7*e^(x*y^2) + 60*x^2*y^5*e^(x*y^2) + 96*x*y^3*e^(x*y^2) + 24*y*e^(x*y^2) - 37 -

5.2 접평면과선형근사 점 에서곡면 에대한접평면의방정식은다음과같다. 예를들어, 점 에서곡면 의접평면을찾아보자. sage : f(x,y)=2*x^2+y^2 sage : fx(x,y)=diff(f(x,y),x) sage : fy(x,y)=diff(f(x,y),y) sage : g=fx(1,1)*(x-1)+fy(1,1)*(y-1)+3; # 접평면의방정식 sage : show(g) 4x+2y 3 sage : p=plot3d(f,(x,-4,4),(y,-4,4),mesh=true) sage : q=plot3d(g,(x,-4,4),(y,-4,4),mesh=true,color='gray') sage : r=point3d((1,1,3),size=20, color= 'red') sage : (p+q+r).show(figsize='4') 다음으로, 접점 근방에서곡면과접평면이얼마나가까운지확인해보자. sage : @interact sage : def _(n=[2,1,0.5,0.1]): sage : # n은 (x,y) 부터 (1,1) 까지의거리 sage : p=plot3d(f,(x,1-n,1+n),(y,1-n,1+n),mesh=true) sage : q=plot3d(g,(x,1-n,1+n),(y,1-n,1+n),mesh=true,color='gray') sage : r=point3d((1,1,3),size=20, color= 'red') sage : (p+q+r).show(figsize='4') - 38 -

위의결과를보면, 접점에접근할수록곡면이접평면과가까워지는것으로보인다. 즉, 점 가 의근방에있을때접평면의방정식 은함수 에대한좋은근사이다. ( 이를 의선형근사라고한다.) 이번에는점 에서함수 cos 의선형근사를찾고, 이를이용하 여 의근사값을구해보자. sage : f(x,y)=1-x*y*cos(pi*y) sage : dfx(x,y)=diff(f(x,y),x) sage : dfy(x,y)=diff(f(x,y),y) sage : L(x,y)=dfx(1,1)*(x-1)+dfy(1,1)*(y-1)+f(1,1) # 접평면의방정식 sage : p=plot3d(f,(x,0,2),(y,0,2),mesh=true) sage : q=plot3d(l,(x,0,2),(y,0,2),mesh=true,color='gray') sage : r=point3d((1,1,3),size=20, color= 'red') sage : (p+q+r).show(figsize='4') sage : p=plot3d(f,(x,0.9,1.1),(y,0.9,1.1),mesh=true) sage : s=point3d((1.02,0.97,l(1.02,0.97)),size=10, color= 'green') - 39 -

sage : t=point3d((1.02,0.97,f(1.02,0.97)),size=10, color= 'red') sage : (p+s+t).show(figsize='4') sage : L(1.02,0.97); N(f(1.02,0.97)) 1.99000000000000 1.98500900777829 위그래프는점을자세히보기위해옵션을통해확대한것이고, 수치결과로부터 의실제값이선형근사에의한근사값과비슷한것을확인할수있다. 5.3 방향도함수와물매벡터 점 에서단위벡터 방향으로함수 의방향도함수는 로나타낼수있다. 예를들어, 이고 일때 방향도함수 을찾아보자. sage : var('x,y') sage : f = x^3-3*x*y+4*y^2 sage : dx(x,y) = diff(f,x) sage : dy(x,y) = diff(f,y) sage : d = vector([dx,dy]); sage : u = vector([1/sqrt(2),-1/sqrt(2)]); sage : d(2,1).dot_product(u) 7/2*sqrt(2) - 40 -

이변수함수 의물매벡터는다음과같이정의된다. 함수 의물매벡터를구하고, 점 에서벡터 방향으로 의방향도함수를찾아보자. sage : var('x,y') sage : f = x^2*y^3-4*y sage : gradf=vector([diff(f,x),diff(f,y)]) sage : A=vector([2,5]) sage : v=a/a.norm() sage : B=gradf.substitute(x=2,y=-1).dot_product(v); B 32/29*sqrt(29) 이번에는곡면 의등위곡선들과점 에서의물매벡터를그리고, 이를통해물매벡터가어떤의미를갖는지알아보자. sage : var('x,y') sage : f = x*exp(y) sage : gradf=vector([diff(f,x),diff(f,y)]) sage : B=gradf.substitute(x=2,y=0) sage : show(b) #(2,0) 에서의물매벡터 sage : show(abs(b)) # 물매벡터의크기가최대변화율이다. (1,2) 5 sage : p=contour_plot(f, (x,0,3), (y,-1,2), colorbar=true, cmap='hsv', fill=false, contours=[1..10]) sage : q=arrow((2,0),(3,2)) sage : (p+q).show(figsize='4') 위의그림에서보이듯이, 물매벡터는등위곡선에수직이고점 에서의최대 변화율은물매벡터방향으로 이다. - 41 -

삼변수함수에대해서도물매벡터는등위곡면 에수직이다. 따라서, 등위곡면위의점 에서접평면의방정식은 이고, 법선의방정식은 이다. 예를들어, 타원면 위의점 에서접평면과법선의 방정식을찾아보고, 이를타원면과함께그려보자. sage : var('x,y,z,t') sage : F=x^2/4+y^2+z^2/9 sage : gradf=vector([diff(f,x),diff(f,y),diff(f,z)]) # 물매벡터 sage : u=gradf.substitute(x=-2,y=1,z=-3) #(-2,1,-3) 에서의물매벡터 sage : v=vector([x+2,y-1,z+3]) sage : A=u.dot_product(v)==0; A # 접평면의방정식 -x + 2*y - 2/3*z - 6 == 0 sage : L=vector(u*t )+vector((-2,1,-3) ); L # 법선의매개방정식 (-t - 2, 2*t + 1, -2/3*t - 3) sage : p=implicit_plot3d(f==3, (x,-4,4), (y,-2,2), (z,-6,6),opacity=0.8) sage : q=point3d((-2,1,-3),color='green',size=20) sage : r=implicit_plot3d(a, (x,-4,4), (y,-2,2), (z,-6,6), color='gray', opacity=0.8) sage : s=parametric_plot3d(l,(t,0,1),color='red') sage : (p+q+r+s).show(aspect_ratio=1) - 42 -

5.4 최댓값과최솟값 5.4.1 극댓값과극솟값 먼저함수 의임계점들을구하고, 이를극소, 극대또는 안장점으로분류해보자. sage : f(x,y)=x^2+y^2-2*x-6*y+14 sage : dx(x,y)=diff(f,x) sage : dy(x,y)=diff(f,y) sage : solve([dx==0,dy==0],x,y) [[x == 1, y == 3]] sage : f(1,3) 4 sage : p=plot3d(f,(x,-2,4),(y,0,5),aspect_ratio=1) sage : q=point3d((1,3,4),size=15,color='red') sage : p+q 함수 의임계점은 뿐인데, 위의그림에서확인할수있듯이이는극소이다. 일때, 이변수함수 의극값을결정하는이계편도함수판정법 은다음과같다. ( 단, ) (i) 이고 이면, 는극솟값이다. (ii) 이고 이면, 는극댓값이다. (iii) 이면, 는극값이아니다. - 43 -

다음과같이 def 명령어를이용하여이계도함수판정법을정의해보자. sage : def Det(f, a, b): sage : dfxx=diff(f,x,2).substitute(x=a,y=b) sage : dfyy=diff(f,x,2).substitute(x=a,y=b) sage : dfxy=diff(diff(f,x),y).substitute(x=a,y=b) sage : D=dfxx*dfyy-(dfxy)^2 sage : if D>0 and dfxx > 0 : sage : print( ' 극솟값이다.' ) sage : elif D>0 and dfxx < 0 : sage : print( ' 극댓값이다.' ) sage : else: sage : print( ' 안장점이다.' ) 이를함수 에적용하면다음과같은결과를얻는다. ( 임계점을구하는과정에서실수해와허수해가모두나오므로직접실수해를찾아야한다.) sage : f(x,y)=x^4+y^4-4*x*y+1 sage : solve([diff(f,x)==0,diff(f,y)==0],x,y) [[x == sqrt(-i), y == -(-1)^(1/4)], [x == -sqrt(-i), y == (-1)^(1/4)], [x == (-1)^(1/4), y == (-1)^(3/4)], [x == -I, y == I], [x == I, y ==-I ], [x == -1, y == -1], [x == 1, y == 1], [x == 0, y == 0]] sage : Det(f,0,0) 안장점이다. sage : Det(f,1,1) 극솟값이다. sage : Det(f,-1,-1) 극솟값이다. sage : p=implicit_plot3d(z==x^4+y^4-4*x*y+1,(x,-2,2),(y,-2,2),(z,-2,4), mesh=true) sage : q=point3d([(0,0, f(0,0)),(1,1, f(1,1)),(-1,-1, f(-1,-1))], color='red',size=10) sage : p+q - 44 -

5.4.2 최댓값과최솟값 일반적으로, 닫히고갇힌집합 에서정의된이변수함수 의최댓값과최솟값은 다음과같이찾을수있다. (i) 에속한 의임계점들에서 의값을찾는다. (ii) 의경계에서 의최댓값과최솟값을찾는다. (iii) (i),(ii) 에서찾은값들중가장큰것이최댓값이고, 가장작은것이최솟값이다. 예를들어, 직사각형영역 에서함수 의최댓값 과최솟값을찾아보자. (i) 에속한 의임계점들에서 의값을찾는다. sage : var('x,y') sage : f(x,y) = x^2-2*x*y+2*y sage : solve([diff(f,x)==0,diff(f,y)==0],x,y) [[x == 1, y == 1]] sage : fv=[] sage : fv.append(f(1,1)); fv [1] (ii) 의왼쪽경계 에서 의최댓값과최솟값을찾는다. sage : g1(x)=f(x,0); g1 x --> x^2 sage : solve(diff(g1,x)==0,x) [x == 0] sage : fv.append(g1(0)) sage : fv.append(g1(3)) 의오른쪽경계 에서 의최댓값과최솟값을찾는다. sage : g2(x)=f(x,2); g2 x --> x^2-4*x + 4 sage : solve(diff(g2,x)==0,x) [x == 2] sage : fv.append(g2(2)) sage : fv.append(g2(0)) sage : fv.append(g2(3)) - 45 -

sage : fv [1, 0, 9, 0, 4, 1] 의아래쪽경계 에서 의최댓값과최솟값을찾는다. sage : h1(y)=f(0,y);h1 y --> 2*y sage : fv.append(h1(0)) # 함수 h1가일차함수이므로임계수가없다. sage : fv.append(h1(2)) 의윗쪽경계 에서 의최댓값과최솟값을찾는다. sage : h2(y)=f(3,y);h2 y --> -4*y + 9 sage : fv.append(h2(0)) # 함수 h2가일차함수이므로임계수가없다. sage : fv.append(h2(2)); fv [1, 0, 9, 0, 4, 1, 0, 4, 9, 1] (iii) (i),(ii) 에서찾은값들중에서가장큰것과가장작은것을찾는다. sage : print(max(fv), min(fv)) (9, 0) 그러므로, 직사각형영역 에서함수 의최댓값은 이고최솟값은 이다. - 46 -

제 6 장 다중적분 6.1 이중적분 6.1.1 직사각형위에서의이중적분 직사각형영역 에서의이중적분은다음두가지의반복적분으로 바꾸어계산할수있다. 우변의반복적분은명령어 integral 또는 integrate 를반복적으로사용하면된다. 몇가지예를살펴보자., sage : var('x,y') sage : integral(integral(x-3*y^2,x,0,2),y,1,2) -12 sage : integral(integral(x-3*y^2,y,1,2),x,0,2) -12 sin sage : var('x, y') sage : f=y*sin(x*y) sage : integral(integral(f,x,1,2),y,0,pi) 0 sage : integral(integral(f,y,0,pi),x,1,2) -1/2*pi*Ei(2*I*pi) + 1/2*pi*Ei(I*pi) + 1/2*pi*Ei(-I*pi) - 1/2*pi*Ei(-2*I*pi) + 1/2*pi*gamma(-1, 2*I*pi) - 1/2*pi*gamma(-1, I*pi) - 1/2*pi*gamma(-1, -I*pi) + 1/2*pi*gamma(-1, -2*I*pi) - 47 -

위와같은경우는같은값이나오는것이아니라전혀다른형태의결과가나온다. 왜그런지알아보기위해주어진함수를 에대해적분한결과를살펴보자. sage : integral(f,y,0,pi) -(pi*x*cos(pi*x) - sin(pi*x))/x^2 두항들중앞의항을적분한결과는다음과같다. sage : integral(-pi*cos(pi*x)/x,x,1,2) -1/2*pi*(Ei(2*I*pi) - Ei(I*pi) - Ei(-I*pi) + Ei(-2*I*pi)) 여기에서나오는 Ei(x) 함수는우리가아는초등함수들에는속하지않는다. sage : Ei? 이와같이동일한이중적분이라도적분순서에따라계산이훨씬더어려워질수 있기때문에적분순서를잘택하는것이바람직하다. 6.1.2 일반적인영역위에서의이중적분 Ⅰ 형 : 함수 가다음과같은평면영역 에서연속함수라고하자. 그러면 가성립한다. Ⅱ 형 : 가다음과같은평면영역 에서연속함수라고하자. 그러면 가성립한다. Ⅰ 형과 Ⅱ 형의구분은컴퓨터프로그램이하는것이아니라영역 의형태를보고 직접선택해야한다. 예를들어, 포물선 아래및 평면에서직선 와포물선 으로 둘러싸인영역 위에놓여있는입체의부피를찾아보자. - 48 -

sage : var('x, y, z') sage : f=2*x ; g=x^2 sage : solve(f==g,x) # 교점을찾는다. [x == 0, x == 2] sage : p=plot(f,x,-1,3) sage : q=plot(g,x,-1,3,color= red ) sage : (p+q).show(figsize='4') 이그래프에서볼수있듯이, 영역 는 Ⅰ 형도되고 Ⅱ 형도된다. 여기서는 Ⅰ 형만 실습해보고 Ⅱ 형은연습으로남기도록한다. sage : integral(integral(x^2+y^2, y,x^2,2*x),x,0,2) 216/35 참고로영역 위에놓여있는입체를그리면다음과같다. sage : p=implicit_plot3d(y==2*x, (x,0,2),(y,0,4),(z,0,20), color='gray') sage : q=implicit_plot3d(y==x^2, (x,0,2),(y,0,4),(z,0,20), color='gray') sage : r=plot3d(x^2+y^2, (x,0,2),(y,0,4), color='blue') sage : (p+q+r).show(aspect_ratio=(8,4,1),opacity='0.6',mesh=true) - 49 -

이번에는 가직선 과포물선 으로둘러싸인영역일때, 적분 를계산해보자. sage : solve([y==x-1,y^2==2*x+6],x,y) [[x == -1, y == -2], [x == 5, y == 4]] sage : p=implicit_plot(y==x-1,(x,-5,5),(y,-5,5)) sage : q=implicit_plot(y^2==2*x+6,(x,-5,5),(y,-5,5),color='red') sage : (p+q).show(figsize='4') 이예제의경우는 Ⅰ 형보다는 Ⅱ 형으로적분하는것이훨씬쉬워보인다. sage : integral(integral(x*y, x, (y^2-6)/2,y+1),y,-2,4) 36 sage : p=implicit_plot3d(y==x-1, (x,-5,5), (y,-2,4), (z,-10,20), color='gray', opacity='0.4') sage : q=implicit_plot3d(y^2==2*x+6, (x,-5,5), (y,-2,4), (z,-10,20), color='gray', opacity='0.4') sage : r=plot3d(x*y, (x,-5,5), (y,-2,4),color='blue') sage : s=implicit_plot3d(z==0, (x,-5,5), (y,-2,4), (z,-10,20), color='red', opacity='0.6') sage : (p+q+r+s).show(aspect_ratio=(8,4,1),mesh=true) - 50 -

6.1.3 극좌표에서의이중적분 이중적분 에서영역 이아래의그림들과같으면, 직교좌표보다 극좌표를이용하여적분의영역을나타내는것이편리하다. 이때이중적분에서직교좌표에서극좌표로의변환은다음과같다. cossin 예를들어, 위의오른쪽그림처럼 이위쪽반평면에서두원 과 로갇힌영역일때, 의값을찾아보자. sage : var('r, t') sage : integral(integral((3*r*cos(t)+4*(r*sin(t))^2)*r,r,1,2),t,0,pi) 15/2*pi 이번에는평면 과포물면 으로갇힌입체의부피를찾아보자. sage : p=plot3d(0, (x,-2,2), (y,-2,2), opacity='0.4') sage : q=plot3d(1-x^2-y^2, (x,-2,2), (y,-2,2), color='red',opacity='0.4') sage : p+q - 51 -

위그림은입체를 평면위에서본것이다. 원위에갇힌입체의모양이나오므로, 극좌표를이용하면부피를쉽게구할수있다. sage : var('x, y, z, r, t') sage : f(x,y)=1-x^2-y^2 sage : integral(integral(f(r*cos(t),r*sin(t))*r,r,0,1),t,0,2*pi) 1/2*pi 마지막으로, 포물면 놓여있는입체의부피를찾아보자. 아래와 평면위및원기둥 의안쪽에 sage : p=plot3d(x^2+y^2, (x,-2,2), (y,-2,2), color='green', opacity='0.4') sage : q=implicit_plot3d(x^2+y^2==2*x, (x, -2,2), (y, -2,2),(z, 0, 5), color='red',opacity='0.4') sage : p+q 그래프를살펴보면, 적분영역은다음과같음을알수있다. cos 따라서입체의부피는다음과같은이중적분으로계산된다. sage : f(x,y)=x^2+y^2 sage : integral(integral(f(r*cos(t),r*sin(t))*r,r,0,2*cos(t)),t,-pi/2,pi/2) 3/2*pi - 52 -

6.2 삼중적분 6.2.1 직육면체위에서의삼중적분 이중적분과비슷하게, 직육면체 에 서의삼중적분은총 6 가지의반복적분으로바꾸어계산할수있다. 예를들어, 일때 의값을찾아보자. sage : var('x,y,z') sage : f(x,y)=integral(x*y*z^2,(z,0,3)); f # z 범위에서의적분 (x, y) --> 9*x*y sage : g(x)=integral(f(x,y),(y,-1,2)); g # y 범위에서의적분 x --> 27/2*x sage : h=integral(g,(x,0,1)); h # x 범위에서의적분 27/4 6.2.2 일반적인영역위에서의삼중적분 Ⅰ 형 : 그림과같이영역 가 평면으로정사영이 로나타나는경우이다. 이때 가성립하는데, 영역 에서의적분은이중적분에서의방법으로해결할수있다. - 53 -

Ⅱ 형 : 그림과같이영역 가 평면으로정사영이 로나타나는경우이다. 이때 가성립한다. 마찬가지로 영역 에서의적분은이중적분에서의방법으로해결할수있다. Ⅲ 형 : 그림과같이영역 가 평면으로정사영이 로나타나는경우이다. 이때 가성립한다. 마찬가지로 영역 에서의적분은이중적분에서의방법으로해결할수있다. 예를들어, 가네평면,,, 로갇힌사면체일때, 의값을찾아보자. 우선, 사면체가나타내는부분을그려본다. - 54 -

sage : p1=implicit_plot3d(x==0, (x,0,1), (y,0,1), (z,-1,1), opacity=0.4, color='blue') sage : p2=implicit_plot3d(y==0, (x,-1,1), (y,-1,1), (z,-1,1), opacity=0.4, color='blue') sage : p3=implicit_plot3d(z==0, (x,-1,1), (y,-1,1), (z,-1,1), opacity=0.4, color='blue') sage : p4=implicit_plot3d(x+y+z==1, (x,-1,1), (y,-1,1), (z,-1,1), opacity=0.2, color='red') sage : p1+p2+p3+p4 이문제는 I, II, III 형을모두적용할수있는데, 여기서는 Ⅰ 형만해본다. 위의그림 을살펴보면, 의범위는 임을확인할수있다. sage : var('x,y,z') sage : f(x,y)=integral(z,(z,0,1-x-y)); f # z 범위에서의적분 (x, y) --> 1/2*x^2 + (x - 1)*y + 1/2*y^2 - x + 1/2 이제영역 를찾아이결과를적분하자. 위에서얻은그래프에마우스우클릭하여 보기 XY plane 을실행하면, 아래의그림을확인할수있다. - 55 -

따라서 이고, 위에서의이중적분은다음과 같이계산된다. sage : g(x)=integral(f(x,y),(y,0,1-x)); g # y 범위에서의적분 x --> -1/6*x^3 + 1/2*x^2-1/2*x + 1/6 sage : h=integral(g,(x,0,1)); h # x 범위에서의적분 1/24 6.2.3 원기둥좌표에서의삼중적분 원기둥좌표는삼차원공간에서의점 를 로표현하는데, 여기에서 과 는 평면위로의사영의극좌표이고 는 평면에서점 까지의거리이다. 원기둥좌표와직교좌표의관계는다음과같다. cos sin 영역 가다음그림과같은형태로나타난다고하자. 그러면영역 에서 와 의범위는극좌표로 로나타내어지고, 의범위는 이다. 그러므로영역 위에서의 삼중적분은다음과같이쓸수있다. 우변의적분을계산하려면, 먼저 에관해적분한후직교좌표 를극좌표 로바꾼후그결과를극좌표에관해적분하면된다. - 56 -

예를들어, 원기둥좌표를이용하여다음주어진삼중적분의값을찾아보자. 우선 와 의범위를나타내는영역 를그림으로그려보자. sage : p=plot(sqrt(4-x^2), x,-2,2) sage : q=plot(-sqrt(4-x^2), x,-2,2) sage : (p+q).show(figsize='4',aspect_ratio=1) 따라서 평면에나타나는영역이원 임을알수 있다. 또한, 의범위는 이다. 그러면주어진삼중적분은다음 과같이계산된다. sage : var('r, t') sage : u(x,y)=x^2+y^2 sage : v(r,t)=u(r*cos(t),r*sin(t)) sage : v=v.simplify_full(); v r^2 sage : f(r,t)=integral(v*r, (z, r, 2)); f (r, t) --> -(r - 2)*r^3 sage : g(r)=integral(f(r,t),(t,0,2*pi)); g r --> -2*pi*(r - 2)*r^3 sage : h=integral(g,(r,0,2)); h 16/5*pi 원기둥좌표에서의삼중적분은직교좌표로는계산하기어려운적분을계산하기 쉽게하기위해쓰이는방법이다. 하지만 Sage 에서는원기둥좌표로바꾸지않고 직접계산하는것이가능하다. sage : var('x, y, z') sage : f(x,y)=integral(x^2+y^2,(z,sqrt(x^2+y^2),2)); f (x, y) --> -(x^2 + y^2)*(sqrt(x^2 + y^2) - 2) - 57 -

sage : g(x)=integral(f,(y,-sqrt(4-x^2),sqrt(4-x^2))); dg x --> -3/4*x^4*arcsinh(sqrt(x^2)*sqrt(-x^2 + 4)/x^2) + 1/6*(7*x^2 +8)*sqrt(-x^2 + 4) sage : h(x)=integral(g,(x,-2,2)); h 16/5*pi 6.2.4 구면좌표에서의삼중적분 구면좌표는삼차원공간에서의점 를 로나타내는데, 여기에서 는원점 과 사이의거리를나타나고, 는원기둥좌표와같은각이며 는양의 축과선분 사이의각이다. 구면좌표와직교좌표의관계는다음과같다. sincos sin sin cos 영역 가구면쐐기 의형태일때, 위에서의삼중적분은다음과같이쓸수있다. sin cossinsincos sin 예를들어, 일때삼중적분 의값을찾아보자. 영역 를구면좌표로나타내면다음과같다. 따라서위의공식에의해주어진삼중적분은다음과같이계산된다. sage : var('r,s,t') sage : f=exp((x^2+y^2+z^2)^(3/2)) sage : F=f(r*sin(s)*cos(t),r*sin(s)*sin(t),r*cos(s)).simplify_full() sage : int_rho=integral(f*r^2*sin(s),r,0,1) sage : int_theta=integral(int_rho,t,0,2*pi) sage : int=integral(int_theta,s,0,pi); int 4/3*pi*(e 1) 다음으로, 원뿔 위와구면 아래놓여있는입체의부피 를찾아보자. 먼저이입체를그림으로그리면다음과같다. sage : p=implicit_plot3d(z==sqrt(x^2+y^2), (x,-1,1), (y,-1,1), (z,0,2), opacity='0.4', color='red') - 58 -

sage : q=implicit_plot3d(x^2+y^2+z^2==z, (x,-1,1), (y,-1,1), (z,0,2), opacity='0.4', color='green') sage : (p+q).show(figsize='4') 또한, 구면좌표로입체를다음과같이나타낼수있다. cos 따라서입체의부피는삼중적분으로다음과같이계산된다. sage : var('r,s,t') sage : int_rho=integral(1*r^2*sin(s),r,0,cos(s)) sage : int_theta=integral(int_rho,t,0,2*pi) sage : int=integral(int_theta,s,0,pi/4);int 1/8*pi 6.3 다중적분에서의변수변환 직교좌표를극좌표로변환하는것과같이, 적절한변수변환 을통해이중적분을간단한형태로바꿀수있다. 변환 가 평면의영역 를 평면의영역 위로보내는사상이고변환 의야코비행렬식 가영이아니면, 영역 위에서의이중적분을다음과같이나타낼수있다. - 59 -

예를들어, 변수변환 에대하여 평면의정사각형영역 은 평면의어떤영역 로변환되는지찾아보자. sage : var('u, v, x, y') sage : x(u,v)=u^2-v^2; y(u,v)=2*u*v sage : x1(u)=x(u,0); y1(u)=y(u,0) sage : x2(u)=x(u,1); y2(u)=y(u,1) sage : x3(v)=x(0,v); y3(v)=y(0,v) sage : x4(v)=x(1,v); y4(v)=y(1,v) sage : p=parametric_plot((x1,y1), (u,0,1), color='red') sage : q=parametric_plot((x2,y2), (u,0,1), color='blue') sage : r=parametric_plot((x3,y3), (v,0,1), color='green') sage : s=parametric_plot((x4,y4), (v,0,1), color='black') sage : (p+q+r+s).show(figsize='4') 위의그림을보면, 영역 은네개의곡선으로갇혀있음을알수있다. 검은색과 파란색으로나타난곡선들의방정식을다음과같이찾아보자. sage : var('x, y') sage : x2; y2 u --> u^2-1 u --> 2*u sage : x2(y/2) 1/4*y^2-1 sage : x4; y4 v --> -v^2 + 1 v --> 2*v sage : x4(y/2) -1/4*y^2 + 1-60 -

검은색과파란색곡선들은방정식이각각 과 인포물선임을 알수있다. 이제 이 축과두포물선, 로갇힌영역일때, 변수변환 를이용해서이중적분 의값을찾아보자. sage : var('u, v, x, y') sage : x(u,v)=u^2-v^2 sage : y(u,v)=2*u*v sage : Ja=diff(x,u)*diff(y,v)-diff(x,v)*diff(y,u) sage : integral(integral(y*ja,u,0,1),v,0,1) 2-61 -