Mol(Math Object Library) fot .Net
The _Blas type exposes the following members.
コンストラクター
名前 | 説明 | |
---|---|---|
_Blas |
メソッド
名前 | 説明 | |
---|---|---|
Dispose |
インターフェース IDispose の実装(実際は Matrix や Vector で実装します)。
C++ Dll に割り当てられたメモリー資源を解放します。
メモリー資源は当然ながらガベージコレクションによって解放されますが、いつ解法されるかはわかりません。
以後、完全に使用しないと判明したオブジェクトは Dispose() を呼び出して積極的に資源を解法することをお勧めします。
(Inherited from _Mol.) | |
LeMm(MatrixDenseGeneralComplex, MatrixSparseGeneralComplex, MatrixDenseGeneralComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralComplex, MatrixSparseHermite, MatrixDenseGeneralComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralComplex, MatrixSparseLowerTriangleComplex, MatrixDenseGeneralComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralComplex, MatrixSparseSymmetricComplex, MatrixDenseGeneralComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralComplex, MatrixSparseUpperTriangleComplex, MatrixDenseGeneralComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralDouble, MatrixSparseGeneralDouble, MatrixDenseGeneralDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralDouble, MatrixSparseLowerTriangleDouble, MatrixDenseGeneralDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralDouble, MatrixSparseSymmetricDouble, MatrixDenseGeneralDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralDouble, MatrixSparseUpperTriangleDouble, MatrixDenseGeneralDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
c = alpha*op(a)*b + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralComplex, MatrixDenseGeneralComplex, MatrixDenseGeneralComplex, _Mol..::..MATRIX_OPERATION, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
c = alpha*op(a)*op(b) + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作、transb は行列 b に対する演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMm(MatrixDenseGeneralDouble, MatrixDenseGeneralDouble, MatrixDenseGeneralDouble, _Mol..::..MATRIX_OPERATION, _Mol..::..MATRIX_OPERATION, Double, Double) |
c = alpha*op(a)*op(b) + beta*c という形の演算を実行します。ここで alpha と beta はスカラ、a、b、と cは行列、tarnsa は行列 a に対する
演算前の操作、transb は行列 b に対する演算前の操作を指定します(_Mol..::..MATRIX_OPERATION)。行列演算(掛け算)の操作として転置等が指定できますが実際に行列そのものが転置されるわけではありません。
| |
LeMv(VectorDenseComplex, MatrixDenseHermite, VectorDenseComplex, Complex, Complex) |
y = alpha*A*x + beta*y という形の計算を実行します。ここで A は密エルミート行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseDouble, MatrixDenseSymmetricDouble, VectorDenseDouble, Double, Double) |
y = alpha*A*x + beta*y という形の計算を実行します。ここで A は密対称行列、 x と y はベクトル、alpha と beta は double の定数です。
| |
LeMv(VectorDenseDouble, MatrixSparseSymmetricDouble, VectorDenseDouble, Double, Double) |
y = alpha*A*x + beta*y という形の計算を実行します。ここで A は疎な対称行列、 x と y はベクトル、alpha と beta は double の定数です。 V1.0.0.0.3 で引数が変更されました。 | |
LeMv(VectorDenseComplex, MatrixDenseBandComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は一般帯行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseComplex, MatrixDenseGeneralComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は一般密行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseComplex, MatrixSparseGeneralComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な一般行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseComplex, MatrixSparseHermite, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎なエルミート行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseComplex, MatrixSparseLowerTriangleComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な下三角行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseComplex, MatrixSparseSymmetricComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な対称行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseComplex, MatrixSparseUpperTriangleComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION, Complex, Complex) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な上三角行列、 x と y はベクトル、alpha と beta は Complex の定数です。
| |
LeMv(VectorDenseDouble, MatrixDenseBandDouble, VectorDenseDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は一般帯行列、 x と y はベクトル、alpha と beta は double の定数です。
| |
LeMv(VectorDenseDouble, MatrixDenseGeneralDouble, VectorDenseDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は一般密行列、 x と y はベクトル、alpha と beta は double の定数です。
| |
LeMv(VectorDenseDouble, MatrixSparseGeneralDouble, VectorDenseDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な一般行列、 x と y はベクトル、alpha と beta は double の定数です。
| |
LeMv(VectorDenseDouble, MatrixSparseLowerTriangleDouble, VectorDenseDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な下三角行列、 x と y はベクトル、alpha と beta は double の定数です。
| |
LeMv(VectorDenseDouble, MatrixSparseUpperTriangleDouble, VectorDenseDouble, _Mol..::..MATRIX_OPERATION, Double, Double) |
y = alpha*op(A)*x + beta*y という形の計算を実行します。ここで A は疎な上三角行列、 x と y はベクトル、alpha と beta は double の定数です。
| |
LeMvv(MatrixDenseHermite, Double, VectorDenseComplex) |
A = A + alpha*x*x' という計算を実行します。 ここで A は任意の密なエルミート行列、 x は複素数ベクトル、
そして alpha は実数です。 x' は列ベクトルの転置を意味するので x*x' の結果は(Aと同じサイズの)行列になります。
| |
LeMvv(MatrixDenseSymmetricDouble, Double, VectorDenseDouble) |
A = A + alpha*x*x' という計算を実行します。 ここで A は任意の密な実数対称行列、 x は実数ベクトル、
そして alpha は実数です。 x' は列ベクトルの転置を意味するので x*x' の結果は(Aと同じサイズの)行列になります。
| |
LeMvv(MatrixDenseGeneralDouble, Double, VectorDenseDouble, VectorDenseDouble) |
A = A + alpha*x*y' という計算を実行します。 ここで A は任意の密な一般実数行列、 x と y は実数ベクトル、
そして alpha は実数です。 さらに y' は列ベクトルの転置を意味するので x*y' の結果は(Aと同じサイズの)行列になります。
| |
LeMvv(MatrixDenseHermite, Complex, VectorDenseComplex, VectorDenseComplex) |
A = A + alpha*x*y* + alpha**y*x* という計算を実行します。
ここで A は任意の密なエルミート行列、 x と y は複素数ベクトル、
そして alpha は複素数です。 さらに y* は列ベクトルの複素共役転置を意味するので x*y* の結果は(Aと同じサイズの)行列になります。
| |
LeMvv(MatrixDenseSymmetricDouble, Double, VectorDenseDouble, VectorDenseDouble) |
A = A + alpha*x*y' + alpha*y*x' という計算を実行します。 ここで A は任意の密な実数対称行列、 x と y は実数ベクトル、
そして alpha は実数です。 さらに y' は列ベクトルの転置を意味するので x*y' の結果は(Aと同じサイズの)行列になります。
| |
LeMvv(MatrixDenseGeneralComplex, Complex, VectorDenseComplex, VectorDenseComplex, Boolean) |
A = A + alpha*x*y' という計算を実行します。 ここで A は任意の密な一般複素数行列、 x と y は複素数ベクトル、
そして alpha は実数です。 さらに y' は列ベクトルの転置を意味するので x*y' の結果は(Aと同じサイズの)行列になります。
| |
Mv(VectorDenseComplex, MatrixDenseLowerTriangleComplex, _Mol..::..MATRIX_OPERATION) |
y = op(A)*y という形の行列とベクトルの掛け算を実行します。ここで A は密下三角行列、 y はベクトルです。
| |
Mv(VectorDenseComplex, MatrixDenseUpperTriangleComplex, _Mol..::..MATRIX_OPERATION) |
y = op(A)*y という形の行列とベクトルの掛け算を実行します。ここで A は密上三角行列、 y はベクトルです。
| |
Mv(VectorDenseComplex, MatrixSparseSymmetricComplex, VectorDenseComplex) |
y = A*x という形の行列とベクトルの掛け算を実行します。ここで A は疎な対称行列、x と y はベクトルです。
| |
Mv(VectorDenseDouble, MatrixDenseLowerTriangleDouble, _Mol..::..MATRIX_OPERATION) |
y = A*y という形の行列とベクトルの掛け算を実行します。ここで A は密下三角行列、 y はベクトルです。
| |
Mv(VectorDenseDouble, MatrixDenseUpperTriangleDouble, _Mol..::..MATRIX_OPERATION) |
y = op(A)*y という形の行列とベクトルの掛け算を実行します。ここで A は密上三角行列、 y はベクトルです。
| |
Mv(VectorDenseDouble, MatrixSparseSymmetricDouble, VectorDenseDouble) |
y = A*x という形の行列とベクトルの掛け算を実行します。ここで A は疎な対称行列、x と y はベクトルです。
| |
Mv(VectorDenseComplex, MatrixSparseGeneralComplex, VectorDenseComplex, _Mol..::..MATRIX_OPERATION) |
y = op(A)*x という形の行列とベクトルの掛け算を実行します。ここで A は疎な一般行列(ただし正方行列のみ可)、x と y はベクトルです。
| |
Mv(VectorDenseDouble, MatrixSparseGeneralDouble, VectorDenseDouble, _Mol..::..MATRIX_OPERATION) |
y = op(A)*x という形の行列とベクトルの掛け算を実行します。ここで A は疎な一般行列(ただし正方行列のみ可)、x と y はベクトルです。
|
フィールド
プロパティ
名前 | 説明 | |
---|---|---|
MolHandle |
Mol.C++.dll(ネイティブDLL)と Mol.Net.Dll(.Net 用マネージドDLL)間の情報を管理するハンドル。
NativeDll クラスでユーザ作成のネイティブDLLを作成する場合等に利用できます。
(Inherited from _Mol.) | |
MolType |
Molオブジェクトの属性(_Mol..::..MOL_TYPE)。
(Inherited from _Mol.) | |
UserType |
Molオブジェクトの追加属性(_Mol..::..USER_TYPE)。
例えば一般行列でも要素が対称なら、その属性を積極的にセットすることでソルバーは最適な手法を選択することができます。
当然ながら、間違った設定は間違った値や計算不能な状態に陥りますので注意して設定してください。
(Inherited from _Mol.) |