概要
多次元幾何オブジェクト geometric型の仕様
行列オブジェクト matrix型の仕様
行列オブジェクト matrix型の仕様
| matrix型がサポートしている関数 |
行列の行数を取得します。
行列の列数を取得します。
部分行列を取得します。第2引数が行を、第3引数が列を指定します。それぞれ“1”が最初の行や列を表します。
部分行列を取得します。第2引数が開始行を、第3引数が開始列を指定します。それぞれ“1”が最初の行や列を表します。第4引数と第5引数はそれぞれ部分行列の行数と列数を指定します。
単位行列を作成します。次元数は引数で指定します。
転置行列を求めます(行と列の関係を交換します)。
行列とスカラー値の和を求めます。
下記のオペレータと等価です。
matrix + float8
行列の和を求めます。
下記のオペレータと等価です。
matrix + matrix
行列とスカラー値の差を求めます。
下記のオペレータと等価です。
matrix - float8
行列の差を求めます。
下記のオペレータと等価です。
matrix - matrix
行列とスカラー値の積を求めます。
下記のオペレータと等価です。
matrix * float8
行列の積を求めます。
下記のオペレータと等価です。
matrix * matrix
行列とスカラー値の商を求めます。
下記のオペレータと等価です。
matrix / float8
行列の右除算を実行します。サポートしている演算方法や制限などはmatrix_mldivideと同じです。
X = matrix_mrdivide(A, B) は、方程式 X B = A の解、あるいは最小二乗解を求めます。
下記のオペレータと等価です。
matrix / matrix
行列の左除算を実行します。サポートしている演算方法は以下のとおりです。
- 三角行列の交代代入法
- LU分解(ピボット選択あり)を利用した解法(連立方程式の解法)
- QR分解(ピボット選択あり)を利用した解法(最小二乗法)
この関数ではこれらの解法を自動選択します。なお、解が得られなかった場合にはNULLを返します。
X = matrix_mldivide(A, B) は、方程式 A X = B の解、あるいは最小二乗解を求めます。
なお、未完成のため左除算ができないパターンがあります。
下記のオペレータと等価です。
matrix ~/ matrix
平行移動を行なう座標変換行列を生成します。第1引数では変換対象となる座標空間の次元数を指定します。第2引数には平行移動する次元を、第3引数には移動量を指定します。
第2引数に0を指定すると、すべての次元を対象として移動する変換行列を生成します。
スケーリングを行なう座標変換行列を生成します。第1引数では変換対象となる座標空間の次元数を指定します。第2引数にはスケーリングを行なう次元を、第3引数には倍率を指定します。
第2引数に0を指定すると、すべての次元を対象としてスケーリングを行う変換行列を生成します。
回転を行なう座標変換行列を生成します。第1引数では変換対象となる座標空間の次元数を指定します。第2引数と第3引数には回転を行なう次元を、第3引数には角度を(度)で指定します。
第2引数で指定した次元の軸方向を、第3引数で指定した次元の軸方向へ回転します。
たとえば3次元空間において、Z軸を中心に90度回転する座標変換行列を生成するには以下のようにします。
matrix_grotate(3, 1, 2, 90)
3: 3次元空間 1: X軸方向を 2: Y軸方向へ 90: 90度回転上記の逆回転なら、たとえば次の2パターンがあります。
matrix_grotate(3, 1, 2, -90)
3: 3次元空間 1: X軸方向を 2: Y軸方向へ -90: -90度回転matrix_grotate(3, 2, 1, 90)
3: 3次元空間 2: Y軸方向を 1: X軸方向へ 90: 90度回転
| matrix型がサポートしているオペレータ |
転置行列を求めます。
下記の関数と等価です。
matrix_transpose(matrix) returns matrix
行列とスカラー値の和を求めます。
下記の関数と等価です。
matrix_plus(matrix, float8) returns matrix
行列の和を求めます。
下記の関数と等価です。
matrix_mplus(matrix, matrix) returns matrix
行列とスカラー値の差を求めます。
下記の関数と等価です。
matrix_minus(matrix, float8) returns matrix
行列の差を求めます。
下記の関数と等価です。
matrix_mminus(matrix, matrix) returns matrix
行列のスカラー積を求めます。
下記の関数と等価です。
matrix_times(matrix, float8) returns matrix
行列の積を求めます。
下記の関数と等価です。
matrix_mtimes(matrix, matrix) returns matrix
行列とスカラー値の商を求めます。
下記の関数と等価です。
matrix_divide(matrix, float8) returns matrix
(現在はPostgreSQLのバグのため使えません)
行列の右除算を実行します。
下記の関数と等価です。
matrix_mrdivide(matrix, matrix) returns matrix
(現在はPostgreSQLのバグのため使えません)
行列の左除算を実行します。
下記の関数と等価です。
matrix_mldivide(matrix, matrix) returns matrix
Copyright (c) 1999 InterWIZ <staff@interwiz.koganei.tokyo.jp>,
All rights reserved.
Supported by MINISTRY OF POSTS AND TELECOMMUNICATIONS (MPT) of japan
Supported by NTT Communications Corporation
Supported by KOKUSAI KOGYO CO., LTD.
インターウィズはこのプロジェクトにおいて、
郵政省のGIS技術開発プログラムの一環として活動しています。