以下の解説において特に注釈がない場合，この章で紹介するすべての関数は，実数型と複素数型のス
カラおよび行列のいずれにも使用することが出来ます。
ここで紹介する関数群は，複素数に対しても使用することができます。
各関数とも，1 つの引数を与
えるように作られています。
これらの関数群を，マッピング関数（mapping function）と呼びます。
この名称は，引数として行列を与えたとき，行列の各要素に対して同じ処理をすることに由来するも
のです。
[Mapping Function]
x よりも小さくない最小の整数を返します。
x が複素数のときは，ceil (real (x)) + ceil (imag
(x)) * Iを返します。
[Mapping Function]
x の指数関数を計算します。
行列に対して指数行列を計算するには，Chapter 20 [Linear Algebra]の章を参照してください。
[Mapping Function]
x をゼロに向かって丸める。
x が複素数のときは，fix (real (x)) + fix (imag (x)) * I
を返します。
[Mapping Function]
x よりも大きくない最大の整数を返します。
x が複素数のときは，floor (real (x)) + floor
(imag (x)) * Iを返します。
[Loadable Function]
[Loadable Function]
引数をひとつだけ与えると，その最大公約数を返します。
2 つ以上の引数を指定するときは，それ
らが同じサイズのベクトルもしくはスカラでなければなりません。
この場合，対応する要素につ
いてそれぞれ最大公約数を計算します。
指定する各要素は，整数でなければなりません。
以下に例
を示す。
gcd ([15, 20])
) 5
あるいは，以下のようにすることもできます。
gcd ([15, 9], [20 18])
) 5 9
v1 のように返り値を追加すると，以下のような整数のベクトルを返します。
g = v1a1 + v2a2 + ￠ ￠ ￠
以前のOctave における後方互換性を確保するため，全ての引数がスカラであるときには，単
一の返り値v1 にすべての値（v1, ...）を含めるようになっています。
[Mapping Function]
x あるいは指定した全引数について，その最小公倍数を計算します。
たとえば，
lcm (a1, ..., ak)
と
lcm ([a1, ..., ak]).
は同じ意味です。
全ての要素は同じ大きさであるか，スカラでなければなりません。
[Mapping Function]
x の各要素について，自然対数を計算します。
対数行列を計算するには，Chapter 20 [LinearAlgebra]の項を参照のこと。
[Mapping Function]
x の常用対数（10 を底とする対数）を計算します。
[Mapping Function]
[Mapping Function]
x について，2 を底とする対数を計算します。
返り値を2 つ指定すると，1=2 <= jfj < 1 およ
びx = f ￠ 2e
を満たすf とe を返します。
[Mapping Function]
[Mapping Function]
引数としてベクトルを渡すと，その要素の最大値を返します。
行列を渡すと，各列ごとに最大値を
返すので，結果は行ベクトルとなります。
dim を指定すると，その次数を指定することができます。
2 つの行列（あるいは行列とスカラ）を渡すと，対で比較した結果を返します。
以下に例を挙げる。
max (max (x))
この結果は，x に含まれる要素の最大値を返します。
max (2:5, pi)
) 3.1416 3.1416 4.0000 5.0000
これは，2:5の範囲にある各要素とpiとを比較し，最大値を含む行ベクトルを返します。
引数に複素数を渡すと，要素の大きさで比較を行う。
1 つの入力に対して2 つの返り値を受け取るとき，max関数は，最大値に対応する要素の位置
も返します。
以下の例を参照されたい。
[x, ix] = max ([1, 3, 5, 2, 5])
) x = 5
ix = 3
[Mapping Function]
[Mapping Function]
引数としてベクトルを渡すと，その要素の最小値を返します。
行列を渡すと，各列ごとに最小値を
返すので，結果は行ベクトルとなります。
dim を指定すると，その次数を指定することができます。
2 つの行列（あるいは行列とスカラ）を渡すと，対で比較した結果を返します。
以下に例を挙げる。
min (min (x))
この結果は，x に含まれる要素の最小値を返します。
min (2:5, pi)
) 2.0000 3.0000 3.1416 3.1416
これは，2:5の範囲にある各要素とpiとを比較し，最小値を含む行ベクトルを返します。
引数に複素数を渡すと，要素の大きさで比較を行う。
1つの入力に対して2つの返り値を受け取るとき，min関数は，最小値に対応する要素の位置も返します。
以下の例を参照してください。
[x, ix] = min ([1, 3, 0, 2, 5])
) x = 0
ix = 3
[Mapping Function]
以下の計算式により，剰余（割り算の余り）を計算します。
x - y .* floor (x ./ y)
負の値を正しく扱うことに注意されたい。
つまり，mod (-1, 3)の結果は2 であり，-1 ではな
い。
rem (-1, 3)の結果は-1 となります。
また，mod (x, 0)は，x を返します。
引数の次数が合わないとき，あるいは引数に複素数を指定したときはエラーメッセージを表示
します。
[Function File]
x がスカラであれば，2n ， jxj.
を満たす最初の整数n を返します。
x がベクトルであれば，nextpow2 (length (x))を返します。
[Mapping Function]
pow2 (f, e)  ====
[Mapping Function]
引数を1つだけ指定したときには，x の各要素について2x を計算します。
2つの引数に対して
は，f ￠ 2e. を計算します。
[Mapping Function]
以下の式によって，x / yの余りを計算します。
x - y .* fix (x ./ y)
引数の次数が合わないとき，あるいは複素数が渡されたときにはエラーメッセージを表示します。
[Mapping Function]
x に最も近い整数を返します。
x が複素数のときには，round (real (x)) + round (imag (x))
Iを返します。
[Mapping Function]
符号関数（signum function）を計算します。
この関数は，以下のように定義されます。
sign(x) =
8<
1; x > 0;
0; x = 0;
!1; x < 0.
複素数については，x ./ abs (x)を返します。
[Mapping Function]
x の正の平方根（ルート）を計算します。
x が負のとき，複素数を返します。
行列の平方根について
は，Chapter 20 [Linear Algebra]を参照してください。
ここで紹介する関数群は，複素数に対しても使用することができます。
各関数とも，1 つの引数を与え
るように作られています。
引数として行列を与えたとき，行列の各要素ごとに同じ処理をします。
以
降の解説において，z は複素数x + iy であり，i は虚数単位（
p
!1）です。
[Mapping Function]
z の大きさを，jzj =
p
x2 + y2. から計算します。
以下に例を示す。
abs (3 + 4i)
) 5
[Mapping Function]
z の共役複素数￣z = x ! iy を返します。
[Mapping Function]
z の虚部を実数で返します。
[Mapping Function]
z の実部を返します。
Octave では以下の三角関数を提供しています。
引数はラジアンで指定します。
角度（degree）をラ
ジアンに変換するには，角度に?=180 を乗じてください（たとえば，sin (30 * pi/180)は，30 度
に対する正弦の値を返す）。
[Mapping Function]
x の各要素について，正弦（サイン）を計算します。
[Mapping Function]
x の各要素について，余弦（コサイン）を計算します。
[Mapping Function]
x の各要素について，正接（タンジェント）を計算します。
[Mapping Function]
x の各要素について，余割（セカント）を計算します。
[Mapping Function]
x の各要素について，余割（コセカント）を計算します。
[Mapping Function]
x の各要素について，余接（コタンジェント）を計算します。
[Mapping Function]
x の各要素について，逆正弦（アークサイン）を計算します。
[Mapping Function]
x の各要素について，逆余弦（アークコサイン）を計算します。
[Mapping Function]
x の各要素について，逆正接（アークタンジェント）を計算します。
[Mapping Function]
x の各要素について，逆正割（アークセカント）を計算します。
[Mapping Function]
x の各要素について，逆余割（アークコセカント）を計算します。
[Mapping Function]
x の各要素について，逆余接（アークコタンジェント）を計算します。
[Mapping Function]
x の各要素について，双曲線正弦（ハイパボリックサイン）を計算します。
[Mapping Function]
x の各要素について，双曲線余弦（ハイパボリックコサイン）を計算します。
[Mapping Function]
x の各要素について，双曲線正接（ハイパボリックタンジェント）を計算します。
[Mapping Function]
x の各要素について，双曲線正割（ハイパボリックセカント）を計算します。
[Mapping Function]
x の各要素について，双曲線余割（ハイパボリックコセカント）を計算します。
[Mapping Function]
x の各要素について，逆双曲線余接（逆ハイパボリックコタンジェント）を計算します。
[Mapping Function]
x の各要素について，逆双曲線正弦（逆ハイパボリックサイン）を計算します。
[Mapping Function]
x の各要素について，逆双曲線正接（逆ハイパボリックコサイン）を計算します。
[Mapping Function]
x の各要素について，逆双曲線正接（逆ハイパボリックタンジェント）を計算します。
[Mapping Function]
x の各要素について，逆双曲線正割（逆ハイパボリックセカント）を計算します。
[Mapping Function]
x の各要素について，逆双曲線余割（逆ハイパボリックコセカント）を計算します。
[Mapping Function]
x の各要素について，逆双曲線余接（逆ハイパボリックコタンジェント）を計算します。
以上の関数は，引数が1 つであることを想定しています。
引数に行列を与えたときは，以下に示す
ように，各要素ごとに計算を行います。
sin ([1, 2; 3, 4])
) 0.84147 0.90930
0.14112 -0.75680
[Mapping Function]
x とy の対応する要素について，y / x の逆正接（アークタンジェント）を計算します。
結果を
!? から? の範囲で返します。
[Built-in Function]
次元dim 方向の和を計算します。
dim が省略されたときは，1 を指定した（列方向に和をとる）
とみなす。
例外として，x がベクトルでdim を省略したとき，要素の和を返します。
[Built-in Function]
次元dim 方向の積を計算します。
dim が省略されたときは，1を指定した（列方向に積をとる）とみなす。
例外として，x がベクトルでdim を省略したとき，x の要素の積を返します。
[Built-in Function]
次元dim 方向の累積和を計算します。
dim が省略されたときは，1 を指定した（列方向に累積和をとる）とみなす。
例外として，x がベクトルでdim を省略したとき，x の要素の累積和を返します。
[Built-in Function]
次元dim 方向の累積積を計算します。
dim が省略されたときは，1 を指定した（列方向に累積積
をとる）とみなす。
例外として，x がベクトルでdim を省略したとき，x の要素の累積積を返します。
[Built-in Function]
次元dim 方向の積和を計算します。
dim が省略されたときは，1を指定した（列方向に積和をとる）とみなす。
例外として，x がベクトルでdim を省略したとき，要素の積和を返します。
この関数は，概念的には以下の計算を行っているに等しい。
sum (x .* conj (x), dim)
しかし，この関数の方が使用メモリが少なく，xが実数の場合にconjを呼び出さないので，より効率的です。
[Loadable Function]
[Loadable Function]
[Loadable Function]
[Loadable Function]
[Loadable Function]
さまざまなBessel（あるいはHankel）関数を計算します。
引数opt を与えたとき，k = 1 に対してexp (-I*x)，k = 2 に対してexp (I*x)によってスケール化した値を返します。
alpha がスカラであれば，結果はx と同じサイズになります。
x がスカラであれば，結果はalpha と
同じサイズになります。
alpha が行ベクトルでx が列ベクトルであれば，返す結果はlength (x)
行length (alpha)列の行列となります。
一方，alpha とx は整合性がなければならず，結果は同
じサイズとなります。
alpha の値は実数でなければなりません。
x は複素数でもよい。
必要に応じてierr を指定することにより，以下のような実行結果を得ることができます。
これは
結果と同じサイズになります。
[Loadable Function]
第1 種および第2 種のAiry 関数，およびその導関数を計算します。
K Function Scale factor (if a third argument is supplied)
0 Ai (Z) exp ((2/3) * Z * sqrt (Z))
1 dAi(Z)/dZ exp ((2/3) * Z * sqrt (Z))
2 Bi (Z) exp (-abs (real ((2/3) * Z *sqrt (Z))))
3 dBi(Z)/dZ exp (-abs (real ((2/3) * Z *sqrt (Z))))
関数をairy (z)の形式で呼び出すと，airy (0, z) として実行したものと見なします。
結果はz と同じサイズになります。
必要に応じてierr を指定することにより，以下のような実行結果を得ることができます。
これは
結果と同じサイズになります。
[Mapping Function]
ベータ関数を返します。
B(a; b) =
!(a)!(b)
!(a + b) :
[Mapping Function]
不完全ベータ関数を返します。
￣(x; a; b) = B(a; b)!1
Z x
0
t(a!z)(1 ! t)(b!1)dt:
x が複数の成分を含むならば，a とb の両方ともスカラでなければなりません。
x がスカラなら
ば，a とb は同じ次数でなければなりません。
[Mapping Function]
以下の計算式においてn とk を与えたときの二項係数を返します。
A
n
k
!
= n(n ! 1)(n ! 2) ￠ ￠ ￠ (n ! k + 1)
k!
たとえば，
bincoeff (5, 2)
) 10
となります。
[Mapping Function]
誤差関数を計算します。
erf(z) =
2
p
?
Z z
0
e!t2
dt
[Mapping Function]
補誤差関数1 ! erf(z) を計算します。
[Mapping Function]
誤差関数の逆関数を計算します。
[Mapping Function]
ガンマ関数を計算します。
!(z) =
Z 1
0
tz!1e!tdt:
[Mapping Function]
不完全ガンマ関数を計算します。
°(x; a) =
Z x
0
e!tta!1dt
!(a)
a がスカラならば，gammainc (x, a)はx の各要素に対して結果を返します。
x とa の両方ともスカラではないならば，x とa は同じサイズでなければなりません。
このとき，
要素ごとに結果を返します。
[Mapping Function]
[Mapping Function]
ガンマ関数の自然対数を返します。
[Function File]
3次元のベクトルx とy のcross product を計算します。
cross ([1,1,0], [0,1,1])
) [ 1; -1; 1 ]
x とy が行列ならば，最初の次元の3 要素についてcross product を計算します。
オプション引
数dim を指定すると，dim 次元の方向に沿ってcross product を計算します。
[Function File]
交換行列（commutation matrix）Km;n を返します。
これは，m￡n の行列A に対して，Km;n ￠
vec(A) = vec(AT ) となるmn×mn の行列です。
引数としてm のみを与えるならば，Km;m を返します。
統計学ならびに経済学における行列の微分についての応用は，Magnus and Neudecker (1988)
を参照してください。
[Function File]
duplication matrix Dn を返します。
これは，n×n の対称行列matrices A について，Dn ?
vech(A) = vec(A) なるn2×n(n + 1)=2 の行列です。
統計学ならびに経済学における行列の微分についての応用は，Magnus and Neudecker (1988)
を参照してください。
[Function File]
[Function File]
Transform cartesian to polar or cylindrical coordinates. x, y (and z) must be of same
shape. theta describes the angle relative to the x - axis. r is the distance to the z -
axis (0, 0, z).
[Function File]
[Function File]
Transform polar or cylindrical to cartesian coordinates. theta, r (and z) must be of
same shape. theta describes the angle relative to the x - axis. r is the distance to the
z - axis (0, 0, z).
[Function File]
Transform cartesian to spherical coordinates. x, y and z must be of same shape.
theta describes the angle relative to the x - axis. phi is the angle relative to the xy -
plane. r is the distance to the origin (0, 0, 0).
[Function File]
Transform spherical to cartesian coordinates. x, y and z must be of same shape. theta
describes the angle relative to the x-axis. phi is the angle relative to the xy-plane. r
is the distance to the origin (0, 0, 0).
[Built-in Variable]
[Built-in Variable]
[Built-in Variable]
[Built-in Variable]
虚数単位であり，
と定義されます。
これらの組み込み変数は，関数のような挙動をします。
ゆえに，その名前を別の目的に使用することができます。
もし，これらを変数名として使用して値
を代入し，その後クリアするならば，それらは再びあらかじめ特別に定義してあったものとし
て機能します。
詳細は，Section 9.3 [Status of Variables]を参照のこと。
[Built-in Variable]
[Built-in Variable]
無限大を表す。
これは，1/0 のような演算，あるいは浮動小数点オーバーフローの結果として
返されます。
[Built-in Variable]
[Built-in Variable]
非数を表す。
これは，0=0，あるいは1!1，さらにはNaN を含む演算を行った場合に返さ
れる。
ある演算で返されたNaNは，別のNaNと比較できません。
この挙動は，浮動小数点演算のIEEE
標準において明記されています。
ある値がNaN かどうかを判定するには，isnan関数を使用す
ること。
[Built-in Variable]
円周率です。
内部的には，piは‘4.0 * atan (1.0)’として計算されます。
[Built-in Variable]
自然対数の底です。
この定数e は，log(e) = 1. を満たす。
[Built-in Variable]
計算機の精度を表す。
正確に言えば，epsは計算機の浮動小数点演算機能において，任意の隣
り合うふたつの数の相対間隔の最大値です。
この数値は，明らかにシステムに依存します。
64ビットIEEE 浮動小数点数値をサポートする計算機において，epsは近似的に2:2204￡10!16となります。
[Built-in Variable]
浮動小数点値として表すことのできる最も大きな値です。
実際の値は，システムに依存す
る。
64 ビットIEEE 浮動小数点数値をサポートする計算機において，realmaxは近似的に
1:7977×10^308. となります。
[Built-in Variable]
浮動小数点値として表すことのできる最も小さな値です。
実際の値は，システムに依存す
る。
64 ビットIEEE 浮動小数点数値をサポートする計算機において，realmaxは近似的に
2:2251×10!308. となります。