Mol(Math Object Library) fot .Net

The _Array type exposes the following members.

メソッド

  名前説明
Public methodStatic memberAdd(_MatrixComplex, _MatrixComplex, Complex)
c = a + b: _MatrixComplex + Complex
行列 a の全(非ゼロ)要素に b を足します。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberAdd(_MatrixComplex, Complex, _MatrixComplex)
c = b + a: Complex + _MatrixComplex
行列 a の全(非ゼロ)要素に b を足します。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberAdd(_MatrixDouble, _MatrixDouble, Double)
c = a + b: _MatrixDouble + double
行列 a の全(非ゼロ)要素に b を足します。 計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberAdd(_MatrixDouble, Double, _MatrixDouble)
c = b + a: double + _MatrixDouble
行列 a の全(非ゼロ)要素に b を足します。 計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberAdd(_VectorComplex, _VectorComplex, Complex)
c = a + b ; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素に b を足します。ただし、a がスパースの場合は登録済の要素のみ b が足されます。
※ c==a も可能です。
Public methodStatic memberAdd(_VectorComplex, Complex, _VectorComplex)
c = b + a; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素に b を足します。ただし、a がスパースの場合は登録済の要素のみ b が足されます。
※ c==a も可能です。
Public methodStatic memberAdd(_VectorDouble, _VectorDouble, Double)
c = a + b ; ベクトルとスカラーの足し算。 c と a は VectorDenseDouble か VectorSparseDouble のどちらか。 b は任意の double。
a の全ての要素に b を足します。ただし、a がスパースの場合は登録済の要素のみ b が足されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberAdd(_VectorDouble, Double, _VectorDouble)
c = b + a ; ベクトルとスカラーの足し算。 c と a は VectorDenseDouble か VectorSparseDouble のどちらか。 b は任意の double。
a の全ての要素に b を足します。ただし、a がスパースの場合は登録済の要素のみ b が足されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodArrayType()()()()
_array の配列タイプを返します。
Public methodStatic memberArrayType(_Array)
_array a の配列タイプを返します。
Public methodStatic memberCopyN
source[ix_s] から N個の要素を target[ix_t] を開始位置としてコピーします。 source と target は同じタイプ(int,double or Complex)である必要があります(target のタイプがチェック無しに source に適用されます)。 どちらかの配列サイズを超えない範囲でコピーは実行されます。 ix_s と ix_t はIndexBaseに依存します。
Public methodDispose
インターフェース IDispose の実装(実際は Matrix や Vector で実装します)。 C++ Dll に割り当てられたメモリー資源を解放します。 メモリー資源は当然ながらガベージコレクションによって解放されますが、いつ解法されるかはわかりません。 以後、完全に使用しないと判明したオブジェクトは Dispose() を呼び出して積極的に資源を解法することをお勧めします。
(Inherited from _Mol.)
Public methodStatic memberDiv(_MatrixComplex, _MatrixComplex, Complex)
c = a / b : _MatrixComplex / Complex
行列 a の全(非ゼロ)要素を b で割ります。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberDiv(_MatrixComplex, Complex, _MatrixComplex)
c = b/a : Complex / _MatrixComplex
行列 a の全(非ゼロ)要素の逆数に b を掛けます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberDiv(_MatrixDouble, _MatrixDouble, Double)
c = a / b : _MatrixDouble / double
行列 a の全(非ゼロ)要素を b で割ります。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberDiv(_MatrixDouble, Double, _MatrixDouble)
c = b / a: double / _MatrixDouble
行列 a の全(非ゼロ)要素の逆数に b を掛けます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberDiv(_VectorComplex, _VectorComplex, Complex)
c = a / b ; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素を b で割ります。ただし、a がスパースの場合は登録済の要素のみ計算が実行されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberDiv(_VectorComplex, Complex, _VectorComplex)
c = b / a ; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素で b を割ります。ただし、a がスパースの場合は登録済の要素のみ計算が実行されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberDiv(_VectorDouble, _VectorDouble, Double)
c = a / b ; c と a は VectorDenseDouble か VectorSparseDouble のどちらか。b は任意の double。
a の全ての要素を b で割ります。 引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberDiv(_VectorDouble, Double, _VectorDouble)
c = b / a ; c と a は VectorDenseDouble か VectorSparseDouble のどちらか。b は任意の double。
a の全ての要素で b で割ります。 引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodFill(Complex)
全配列要素に v を代入します。配列が実数・整数の場合は引数の実数部が使用されます。
Public methodStatic memberFill(_Array, Complex)
a の全配列要素に v を代入します。配列が実数・整数の場合は引数の実数部が使用されます。
Public methodGetElement(Int32)
配列要素に直接アクセスするためのメソッドです。 値は複素数ですが、配列が実数(または整数)の場合は虚数部( 0.0 になっています)は意味を持ちません。
Public methodStatic memberGetElement(_Array, Int32)
配列要素に直接アクセスするためのメソッドです。 値は複素数ですが、配列が実数(または整数)の場合は虚数部( 0.0 になっています)は意味を持ちません。
Public methodGetMinMax()()()()
全配列の最大値と最小値のペアを返します。
本メソッドは複素数の配列には使用できません((NaN,NaN)が返ります)。
Public methodStatic memberGetMinMax(_Array)
全配列の最大値と最小値のペアを返します。
本メソッドは複素数の配列には使用できません。
Public methodMaxAbs()()()()
全非ゼロ要素の最大絶対値を計算します。
Public methodStatic memberMaxAbs(_Array)
全非ゼロ要素の最大絶対値を計算します。
Public methodStatic memberMul(_MatrixComplex, _MatrixComplex, Complex)
c = a * b: _MatrixComplex * Complex
行列 a の全(非ゼロ)要素に b を掛けます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberMul(_MatrixComplex, Complex, _MatrixComplex)
c = b * a: Complex * _MatrixComplex
行列 a の全(非ゼロ)要素に b を掛けます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberMul(_MatrixDouble, _MatrixDouble, Double)
c = a * b: _MatrixDouble * double
行列 a の全(非ゼロ)要素に b を掛けます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberMul(_MatrixDouble, Double, _MatrixDouble)
c = b * a: double * _MatrixDouble
行列 a の全(非ゼロ)要素に b を掛けます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberMul(_VectorComplex, _VectorComplex, Complex)
c = a * b ; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素に b を掛けます。ただし、a がスパースの場合は登録済の要素のみ計算が実行されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberMul(_VectorComplex, Complex, _VectorComplex)
c = b * a ; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素に b を掛けます。ただし、a がスパースの場合は登録済の要素のみ計算が実行されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberMul(_VectorDouble, _VectorDouble, Double)
c = a * b ; c と a は VectorDenseDouble か VectorSparseDouble のどちらか。b は任意の double。
a の全ての要素に b を掛けます。 引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberMul(_VectorDouble, Double, _VectorDouble)
c = b * a ; c と a は VectorDenseDouble か VectorSparseDouble のどちらか。b は任意の double。
a の全ての要素に b を掛けます。 引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodNegate()()()()
全要素の符号を反転します。
Public methodStatic memberNegate(_Array)
全要素の符号を反転します。
Public methodSetConjugated()()()()
全要素の虚数部分の符号を反転(複素共役)します。
Public methodStatic memberSetConjugated(_Array)
指定した配列の全要素の虚数部分の符号を反転(複素共役)します。
Public methodSetElement(Int32, Complex)
配列要素に直接アクセスするためのメソッドです。 値は複素数で設定しますが、実数(または整数)配列の場合は虚数部は無視されます。
Public methodStatic memberSetElement(_Array, Int32, Complex)
配列要素に直接アクセスするためのメソッドです。 値は複素数で設定しますが、実数(または整数)配列の場合は虚数部は無視されます。
Public methodSort()()()()
配列内容を昇順にソートします。
※密なベクトル以外の配列をソートする場合は「配列」の意味を理解したうえで実行してください。
Public methodSort(Boolean)
配列内容を引数 Decreasing の指定に従ってソートします。
※密なベクトル以外の配列をソートする場合は「配列」の意味を理解したうえで実行してください。
Public methodSort(VectorDenseInt)
配列内容を昇順にソートする代わりに、ソート済みのインデックス配列 Index を返します。ソート対象の配列は変更されません。
※密なベクトル以外の配列をソートする場合は「配列」の意味を理解したうえで実行してください。
Public methodSort(VectorDenseInt, Boolean)
配列内容を Decreasing の指定に従ってソートする代わりに、ソート済みのインデックス配列 Index を返します。ソート対象の配列は変更されません。
※密なベクトル以外の配列をソートする場合は「配列」の意味を理解したうえで実行してください。
Public methodSort(VectorDenseInt, Boolean, Int32, Int32)
配列範囲の内容を Decreasing の指定に従ってソートします(Index != null なら配列内容は変化せず、ソート結果が Index に格納されます)。 ソートする範囲は配列要素の lb から ub の間です。
※密なベクトル以外の配列をソートする場合は「配列」の意味を理解したうえで実行してください。
Public methodStatic memberSub(_MatrixComplex, _MatrixComplex, Complex)
c = a - b: _MatrixComplex - Complex
行列 a の全(非ゼロ)要素から b を引きます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberSub(_MatrixComplex, Complex, _MatrixComplex)
c = b - a: Complex - _MatrixComplex
行列 a の全(非ゼロ)要素の符号を反転してから b を足します。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※エルミート行列の場合、一般に行列全要素に演算を施した場合エルミート性はなくなります。 ただし、本演算はメモリーに確保されている(エルミート行列の場合上三角部分)要素のみに演算を実行するため エルミート性は保持されます。
※ c==a も可能です。
Public methodStatic memberSub(_MatrixDouble, _MatrixDouble, Double)
c = a - b: _MatrixDouble - double
行列 a の全(非ゼロ)要素から b を引きます。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberSub(_MatrixDouble, Double, _MatrixDouble)
c = b - a: double - _MatrixDouble
行列 a の全(非ゼロ)要素の符号を反転させてから b を足します。
計算結果は c に格納され、c が結果として返ります。第一引数 c == null の場合は、新規に行列 c を作成します。
※ c==a も可能です。
Public methodStatic memberSub(_VectorComplex, _VectorComplex, Complex)
c = a - b ; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素から b を引きます。ただし、a がスパースの場合は登録済の要素のみ b が引かれます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberSub(_VectorComplex, Complex, _VectorComplex)
c = b - a; c と a は VectorDenseComplex か VectorSparseComplex のどちらか。b は任意の Complex。
a の全ての要素を b から引きます。ただし、a がスパースの場合は登録済の要素のみ計算が実行されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberSub(_VectorDouble, _VectorDouble, Double)
c = a - b ; c と a は VectorDenseDouble か VectorSparseDouble のどちらか。b は任意の double。
a の全ての要素から b を引きます。ただし、a がスパースの場合は登録済の要素のみ b が引かれます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberSub(_VectorDouble, Double, _VectorDouble)
c = b - a; c と a は VectorDenseDouble か VectorSparseDouble のどちらか。b は任意の double。
b から a の全ての要素を引きます。ただし、a がスパースの場合は登録済の要素のみ計算が実行されます。
引数 c が null のときは、新規に c が作成されます。
※ c==a も可能です。
Public methodStatic memberSum
全配列要素の総和を計算します。 配列タイプが整数か実数の時は戻り値の Real の部分に総和が格納されます。
Public methodSumAbs()()()()
全非ゼロ要素の絶対値の和を計算します。
Public methodStatic memberSumAbs(_Array)
全非ゼロ要素の絶対値の和を計算します。
Public methodSumSquare()()()()
全非ゼロ要素の二乗和を計算します。複素数の場合は実数部と虚数部、それぞれの二乗和になります。
Public methodStatic memberSumSquare(_Array)
全非ゼロ要素の二乗和を計算します。複素数の場合は実数部と虚数部、それぞれの二乗和になります。

フィールド

  名前説明
Public fieldTag
ユーザが自由に設定・使用できるオブジェクトです。 Mol が内部で参照することはありません。
(Inherited from _Mol.)

プロパティ

  名前説明
Public propertyCount
確保されている行列・ベクトルの配列要素数です。 密なベクトルやマトリクスの場合は全要素数に一致しますが、疎な配列の場合は 現状確保(代入)されたサイズです。
Public propertyItem
_Array オブジェクが管理する一次元配列です。行列やベクトルは最終的に、_Array オブジェクが管理する一次元配列にアクセスしますが 当然ながらインデックスは(密なベクトル以外)異なります。インデックスはIndexBaseに依存します。 (GetElement(Int32)SetElement(Int32, Complex)は常に1から開始するインデックスを指定します)。
Public propertyLBound
配列インデックスの下限値です(IndexBaseに応じて 0 か 1 になります)。
Public propertyMolHandle
Mol.C++.dll(ネイティブDLL)と Mol.Net.Dll(.Net 用マネージドDLL)間の情報を管理するハンドル。 NativeDll クラスでユーザ作成のネイティブDLLを作成する場合等に利用できます。
(Inherited from _Mol.)
Public propertyMolType
Molオブジェクトの属性(_Mol..::..MOL_TYPE)。
(Inherited from _Mol.)
Public propertySize
確保されている行列・ベクトルの配列領域のサイズ(要素の数)です。 密なベクトルやマトリクスの場合は全要素数に一致しますが、疎な配列の場合は 現状確保された領域サイズです。確保可能な最大サイズ(SizeLimit)に達する前はCountに等しいか大きい値になります。 ///
Public propertySizeLimit
行列・ベクトルの列領域の最大サイズ(要素の最大数)です。 密なベクトルやマトリクスの場合は宣言時に全要素のサイズが確保され(その値が返り)ます。 疎な配列の場合は、領域のサイズ(Size)の最大値を意味しますので、 現状確保されたサイズ(確保可能な最大サイズに達する前はCountより若干大きい値)です。
Public propertyUserType
Molオブジェクトの追加属性(_Mol..::..USER_TYPE)。 例えば一般行列でも要素が対称なら、その属性を積極的にセットすることでソルバーは最適な手法を選択することができます。 当然ながら、間違った設定は間違った値や計算不能な状態に陥りますので注意して設定してください。
(Inherited from _Mol.)

参照