Categories
Mathematics

How to Reload Modules in SageMath

reload() Method

reload() method reloads a previously imported module. It enables you to test a updated version of the module without leaving the sage command line.

sage: reload(module)

Reloading modules for Python 3.4 and above

Use importlib package.

sage: import importlib

sage: importlib.reload(module)

Categories
Mathematics

SageMath “TypeError: function() takes exactly 1 positional argument” 에러 해결 방법

1. 증상

SageMath 에서 function() 함수로 함수를 생성한다.

var('x')
y = function('y',x)

아래와 같은 에러 메시지와 함께 함수 생성에 실패한다.

TypeError: function() takes exactly 1 positional argument (2 given)

2. 문제의 원인

function() 함수는 1 개의 위치 인자 (positional argument) 만을 받아들인다. 1 개의 위치 인자는 생성할 함수의 이름을 지정하기 위해 사용된다.

앞의 예에서는 위치 인자를 2 개 사용했기 때문에 에러가 발생한 것이다.

3. 문제 해결 방법

function() 함수에서 2 번째 위치 인자를 별도의 괄호 안에 포함시킨다.

var('x')
y = function('y')(x)

print() 함수로 결과를 확인한다.

print(y)


4. 인자가 3 개 이상인 경우

위치 인자가 3 개 이상일 경우에도 마찬가지 방법을 사용한다.

var('x,y')
z = function('z')(x,y)
print(z)

Categories
Mathematics

SageMath (세이지-매스) 그래프의 종횡비 (aspect ratio) 변경하기

1. SageMath 로 그래프 그리기

포물선의 그래프를 그려 그래프 객체에 저장한다.

P = plot(x^2, (x,-2,2))

그래프 객체를 이미지 파일로 저장한다.

P.save_image(“parabola.png”);

이미지 파일을 열어 결과를 확인한다.


위 그림을 보면 그래프의 종횡비가 1:1 이 아닌 것을 알 수 있다.

2. 그래프의 종횡비 변경하기

포물선의 그래프를 그릴 때 aspect_ratio 옵션을 사용한다.

P = plot(x^2, (x,-2,2), aspect_ratio=1)

그래프 객체를 이미지 파일로 저장한다.

P.save_image(“parabola.png”);

이미지 파일을 열어 결과를 확인한다.


위 그림을 보면 그래프의 종횡비가 1:1 로 변경된 것을 알 수 있다.

Categories
Mathematics

SageMath (세이지-매스) 에서 그래프를 이미지 파일로 저장하기

1. 그래프 그리기

SageMath (세이지-매스) 를 실행한다.

sage

plot() 함수로 함수의 그래프를 그리고 그 결과를 객체에 저장한다.

p = plot(sin(x), -pi, pi)

plot() 함수의 2 번째와 3 번째 인자는 그래프의 x 축 범위를 지정하기 위해 사용한다.

pi 는 미리 정의되어 있는 수학 상수로 원주율 π 를 의미한다. pi 의 값은 약 3.141593 이다.

2. 그래프를 이미지 파일로 저장하기

그래프를 이미지 파일로 저장할 때는 save_image 메소드를 사용한다.

p.save_image(‘/tmp/sin.png’)

save_image 메소드의 인자는 이미지 파일의 경로명이다.

저장된 이미지 파일을 열어 결과를 확인한다.