以下 Tutorial Chapter 2 に従います。
sin(3.141) + Enter
sin Shift + Enter (3.141)
sin(3.141): + Enter
diff(sin(x^2), x); int(%, x)
equations := { x + y = 1, x - y = 1 }:
solve(equations)
plotfunc2d(-x+1, x-1, x=0 .. 2):
info(solve)
info(ln)
?solve
help("solve") <- なぜ二重引用符で括る必要があるか? -> 引数は文字列でないとダメ
h := "help"
help(h)
diff(sin(x^2), x, x, x, x, x) diff(diff(diff(diff(diff(sin(x^2), x), x), x), x), x)
1 + 5/2
(1 + (5/2 * 3)) / (1/7 + 7/9)^2
^ -- 指数演算子
1234^123
100!
fact, ! -- 階乗
isprime(123456789)
TRUE|FALSE -- 真偽値
isprime -- 素数判定
Miller-Rabin test (確率的素数判定法の一種)
FALSE -> 確実に合成数
TRUE -> 素数、もしくは(「ランダム」に選んだ10個の底に対する)強偽素数
ref. numlib::proveprime
あまり長い桁の数値を扱うと…
a := 2^(2^13)+1
length(a)
isprime(a)
b := 2^(2^17)+1
length(b)
isprime(b)
タスクマネージャーでプロセスを見てみる
ifactor -- 素因数分解
ifactor(123456789)
3^2 * 3607 * 3803
a := 2^(2^5)+1; length(a); ifactor(a)
b := 2^(2^7)+1
length(b)
ifactor(b)
"Session" -> "STOP Kernel"
sqrt -- 平方根
sqrt(56)
sqrt(14)^4
limit -- 極限値を求める
infinity -- 正の無限大
exp -- 指数関数
ln -- 自然対数
E -- 自然対数の底
limit((1 + 1/n)^n, n = infinity)
ln(1/exp(1))
float -- 浮動小数点形式への変換(近似値計算)
DIGITS -- 浮動小数点形式への有効桁数(初期値は10)
float(sqrt(56))
DIGITS; float(67473/6728)
DIGITS := 100; float(67473/6728); DIGITS := 10
(1 * (5/2 * 3)) / (1/7 + 7/9)^2 <- 1
(1.0 * (5/2 * 3)) / (1/7 + 7/9)^2 <- 1.0
2/3 * sin(2); 0.6666666 * sin(2)
float(2/3 * sin(2)); 0.6666666 * float(sin(2)) <- ≠
sqrt(56.0); sin(3.14)
cos(PI); ln(E)
DIGITS := 100; float(PI); float(E); DIGITS := 10
Excecise 2.2: