matrix.dll

Classes:

Index

Common index


Class MVector : Vector

#module root.mathematic
	The MVector class represents vectors (row-vector or column-vector) 
	in the sense of linear algebra and defines vector operations. 
	In conjunction with the Matrix class class it allows to solve 
	linear simultaneous equations (for more information see 
	Matrix::SolveSystem);
	This class has defined IsColumn field. This field value specifies 
	the vector orientation:
		1 - specifies that vector is a column-vector, 
		0 - specifies that vector is a row-vector.

Methods:


MVector::&(refer any)

param Operand;

	Returns the vector which is obtained as a result of the '&' operation 
between the vector, for which the method was called, and the Operand parameter.
If the Operand parameter represents an object of the MVector class then 
the elementwise carrying-out of the '&' operation is performed; 
Otherwise the '&' operation is performed between each vector element and 
the Operand parameter value.

MVector::&=(refer any)

param Operand;

	If the Operand parameter represents an object of the MVector 
class then the elementwise carrying-out of the '&' operation is performed; 
Otherwise the '&' operation is performed between each vector element and 
the Operand parameter value.
Returns the reference to the vector that accepted the message.

MVector::*(refer any)

param Operand;

	Returns the vector which is obtained as a result of the vector, 
for which the method was called, multiplication by the Operand parameter.
If the Operand parameter represents an object of the MVector class 
then the multiplication by conventions of linear algebra is performed; 
Otherwise each vector element is multiplied by the Operand parameter value.

MVector::*=(refer any)

param Operand;

	If the Operand parameter represents an object of the MVector 
class then the multiplication by conventions of linear algebra is 
performed; Otherwise each vector element is multiplied by the Operand 
parameter value.
Returns the reference to the vector that accepted the message.

MVector::+(refer any)

param Operand;

	Returns the vector which is obtained as a result of the Operand 
parameter addition to the vector for which the method was called. 
If the Operand parameter represents an object of the MVector class 
then the elementwise adding is performed; Otherwise the Operand 
parameter value is added to each vector element.

MVector::+=(refer any)

param Operand;

	If the Operand parameter represents an object of the MVector 
class then the elementwise adding is performed; Otherwise the Operand 
parameter value is added to each vector element.
Returns the reference to the vector that accepted the message.

MVector::-(refer any)

param Operand;

	Returns the vector which is obtained as a result of the Operand 
parameter subtraction from the vector for which the method was called. 
If the Operand parameter represents an object of the MVector class 
then the elementwise subtraction is performed; Otherwise the Operand 
parameter value is subtracted from each vector element.

MVector::-=(refer any)

param Operand;

	If the Operand parameter represents an object of the MVector 
class then the elementwise subtraction is performed; Otherwise the Operand 
parameter value is subtracted from each vector element.
Returns the reference to the vector that accepted the message.

MVector::Autocorrelation(void)

Return autocorrelation value of MVector

MVector::MVector(number)

param X;

	Constructor which creates the X-dimension column-vector. 

MVector::MVector(refer object MVector)

param Src;

	Constructor which creates a copy of the Src.

MVector::MVector(refer object Vector)

param Src;

	Constructor which creates a copy of the Src.

MVector::Norm(void)

Returns the number that represents the norm (scalar) of vector.

MVector::ScalarMul(refer object MVector)

Returns the number that represents the scalar product of vectors.

MVector::Set(refer any)

param Value;

	This method populates the vector with the element determined 
via the Value parameter. 

MVector::T(void)

Returns the vector which is transposed relative to the vector for which 
the message was called.

MVector::ToMatrixDiag(number, number)

Возвращает диагональную матрицу,
диагональными элементами которой являются элементы вектора self.
параметры - размерность результирующей матрицы.

MVector::ToMatrixDiag(void)

Возвращает диагональную матрицу,
диагональными элементами которой являются элементы вектора self.

MVector::Transpose(void)

Returns the vector which is transposed relative to the vector for which 
the message was called.

MVector::VectorMul(refer object MVector)

#rus Возвращает вектор, являющийся векторным произведеним векторов.
#rus Размерность векторов должна быть разна 3.

MVector::^(refer any)

param Operand;

	Returns the vector which is obtained as a result of the '^' 
operation between the vector, for which the method was called, and 
the Operand parameter.
If the Operand parameter represents an object of the MVector class 
then the elementwise carrying-out of the '^' operation is performed; 
Otherwise the '^' operation is performed between each vector element and 
the Operand parameter value.

MVector::^=(refer any)

param Operand;

	If the Operand parameter represents an object of the MVector 
class then the elementwise carrying-out of the '^' operation is performed; 
Otherwise the '^' operation is performed between each vector element and 
the Operand parameter value.
Returns the reference to the vector that accepted the message.

MVector::|(refer any)

param Operand;

	Returns the vector which is obtained as a result of the '|' operation 
between the vector, for which the method was called, and the Operand parameter.
If the Operand parameter represents an object of the MVector class then 
the elementwise carrying-out of the '|' operation is performed; 
Otherwise the '|' operation is performed between each vector element and 
the Operand parameter value.

MVector::|=(refer any)

param Operand;

	If the Operand parameter represents an object of the MVector 
class then the elementwise carrying-out of the '|' operation is performed; 
Otherwise the '|' operation is performed between each vector element and 
the Operand parameter value.
Returns the reference to the vector that accepted the message.

Class Matrix : Vector

#module root.mathematic
The Matrix class represents mathematical matrixes and defines matrix 
operations. In conjunction with the MVector class it allows to solve 
linear simultaneous equations (for more information see SolveSystem);

Methods:


Matrix::&(refer any)

param Operand;

Returns the matrix which is obtained as a result of each matrix 
element substitution for the value acquired after the '&' operation 
between the matrix element and the Operand parameter.

Matrix::&=(refer any)

param Operand;

Each matrix element is substituted for the value acquired after 
the '&' operation between the matrix element and the Operand parameter.
Returns the reference to the matrix that accepted the message.

Matrix::*(refer any)

param Operand;

Returns the matrix which is obtained as a result of the matrix 
multiplication for which the method with the Operand parameter was called. 
If the Operand parameter represents a matrix then the matrixes 
multiplication is performed (it is performed by the standard 
row-by-column method); Otherwise each matrix element is multiplied 
by the Operand parameter value.

Matrix::*=(refer any)

param Operand;

If the Operand parameter represents a matrix then the matrixes 
multiplication is performed (it is performed by the standard 
row-by-column method); Otherwise each matrix element is multiplied 
by the Operand parameter value.
Returns the reference to the matrix that accepted the message.

Matrix::+(refer any)

param Operand;

Returns the matrix which is obtained as a result of matrix addition for 
which the method with the Operand parameter was called. 
If the Operand parameter represents a matrix then the elementwise adding 
of matrixes is performed; Otherwise the Operand parameter value is added 
to each matrix element.

Matrix::+=(refer any)

param Operand;

If the Operand parameter represents a matrix then the elementwise adding 
of matrixes is performed; Otherwise the Operand parameter value is added 
to each matrix element.
Returns the reference to the matrix that accepted the message.

Matrix::-(refer any)

param Operand;

Returns the matrix which is obtained as a result of subtraction from 
matrix for which the method with the Operand parameter was called. 
If the Operand parameter represents a matrix then the elementwise subtraction 
of matrixes is performed; Otherwise the Operand parameter value is subtracted 
from each matrix element.

Matrix::-=(refer any)

param Operand;

If the Operand parameter represents a matrix then the elementwise subtraction 
of matrixes is performed; Otherwise the Operand parameter value is subtracted 
from each matrix element.
Returns the reference to the matrix that accepted the message.

Matrix::Convolve(refer object Matrix)

Return value of two matrices convolution

Matrix::CrossCorrelation(void)

Return cross-correlation matrix of Matrix

Matrix::Decompos3diagToQR(void)

Метод производит QR разложение трехдиагональной матрицы.
Возвращает << Q, R >>,
где Q - ортогональная матрица,
R - верхнетреугольная матрица.
Причем self = Q * R;
Применяется метод отражений Хаусхолдера.

Matrix::DecomposSymetr3diagTo1diag(number, refer ...)

param Eps, [Progress];

Метод находит собственные числа и собственные вектора
симметричной трехдиагональной матрицы.
Eps -  точночть вычисления собственных значений.
Progress - окно прогресса (необязательный параметр).
Возвращает << Q, L >>,
где Q - ортогональная матрица, столбцы которой являются собственными векторами,
L - вектор собственных значений.
Причем self = Q * L->ToMatrixDiag() * Q->T();
Применяется QR - алгоритм со сдвигами ( стратегия сдвигов по Рэлею ).

Matrix::DecomposSymetrTo3diag(void)

Возвращает << Q, A >>, где Q - ортогональная матрица,
A - трехдиагональная матрица.
Причем self = Q * A * Q->T();
Матрица self должна быть симетричной.
Применяется метод отражений.

Matrix::DecomposSymetrToEV(number)

param Eps;

Метод находит собственные числа и собственные вектора
симметричной действительной матрицы.
Eps -  точночть вычисления собственных значений.
Возвращает << Q, L >>,
где Q - ортогональная матрица, колонки котрой являются собственными векторами,
L - вектор собственных значений.
По определению self = Q * L->ToMatrixDiag() * Q->T();

Matrix::DecomposTo2diag(refer ...)

param [Progress];

Возвращает << Q, A, P >>, где Q, P - ортогональные матрицы,
A - верхнедвухдиагональная матрица.
Причем self = Q * A * P->T();
Применяется метод отражений (Хаусхолдера).
Progress - не обязательный параметр окно прогресса (GProgressWnd).

Matrix::Det(void)

Returns the matrix determinant.

Matrix::DetQR(void)

Возвращает детерминант матрицы self.
Применяется QR - разложение.

Matrix::GetMinor(int, int)

param Y, X;

Returns the X-column and Y-row matrix minor.

Matrix::InsertColumn(int)

param j;

Insert column j into matrix

Matrix::InsertRow(int)

param j;

Remove row j from matrix

Matrix::Inverse(int)

param n;

Return inverse matrix
n - number of adjustment itterations.

Matrix::Inverse(void)

Returns the inverse matrix to the current one.

Matrix::LeastSquare(refer object MVector)

param Y;

Метод находит решение уравнения self * X = Y в смысле наименьших
квадратов. 

Matrix::Matrix(copy)

param Src;

	Constructor which creates a copy of the Src matrix.

Matrix::Matrix(number, number)

param Y, X;

	Constructor which creates the Y rows by X columns matrix.

Matrix::Matrix(refer object Matrix)

param Src;

	Constructor which creates matrix on basis of the Src matrix.

Matrix::Matrix(refer object Vector)

param Vect;

	Constructor which creates matrix on basis of the vector which 
contains created matrix rows.

Matrix::Print(object String)

param Format;

Return text matrix presentation
Format - format of number output in C style like "%7.3f"

Matrix::Print(void)

Return text matrix presentation

Matrix::PseudoInverse(int)

param n;

Return inverse matrix
n - number of adjustment itterations.

Matrix::PseudoInverse(void)

Метод находит псевдообратную матрицу.
Позволяет обращать неквадратные матрицы.

Matrix::Remove(int, int)

param i, j;

Remove raw i and column j from matrix;

Matrix::RemoveColumn(int)

param j;

Remove column j from matrix

Matrix::RemoveRow(int)

param j;

Remove row j from matrix

Matrix::SVD(void)

Given a matrix this routine computes its singular value decomposition, self = U·S·V->T()
The method returns vector <<U, s, V >>	where s is a vector of diagonal elements of matrix S
Code was taken from 
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery, Numerical Recipes in C,
Cambridge University Press,  (2002)

Matrix::Set(refer any)

param Value;

	This method populates the matrix with the element determined 
via the Value parameter.

Matrix::Set3DTransform(number, number, number, number, number, number)

param t_x, t_y, t_z, ph_x, ph_y, ph_z;

#rus Устанавливает матрицу преобразования координат из системы
#rus K1 в систему K, где система K1 получена из системы K
#rus путем параллельного переноса начала координат на вектор
#rus (t_x, t_y, t_z) и поворота на углы Эйлера ph_z, ph_y, ph_x
#rus соответственно.
#rus t_x				x-координата вектора параллельного
#rus 				переноса.
#rus t_y				y-координата вектора параллельного
#rus 				переноса.
#rus t_z				z-координата вектора параллельного
#rus 				переноса.
#rus ph_x			Угол поворота вокруг оси x.
#rus ph_y			Угол поворота вокруг оси y.
#rus ph_z			Угол поворота вокруг оси z.
#rus Комментарии
#rus Перед вызовом данного метода матрица должна иметь размер
4x4.

Matrix::SetDiagonal(int, refer any)

param Diagonal, Value;

Populates the diagonal whose number is specified via the Diagonal parameter 
with the value is determined via the Value parameter.
The leading diagonal has 0 number.

Matrix::SolveSystem(refer object MVector)

Param VectY;
Returns an object of the MVector class which is the solution of 
linear simultaneous equations where the right part is specified 
via the VectY parameter and matrix represents the matrix for which 
the method was called.
	
	self * VectX = VectY
The VectY parameter has to be a column-vector, that is its IsColumn 
field must be equal to 1.
In case of the zero-determinant the ERR_DIVIDE_BY_ZERO error is raised.
	

Matrix::SolveSystemBySVD(refer object MVector)

param Y;

Метод находит решение уравнения self * X = Y методом SVD 

Matrix::Symetr3GetEV(number)

param Eps;

Метод находит собственные числа
симметричной действительной трехдиагональной матрицы.
Eps -  точночть вычисления собственных значений.
Возвращает вектор собственных значений.

Matrix::Symetr3GetEV2(number)

param Eps;

Метод находит собственные числа
симметричной действительной трехдиагональной матрицы.
Eps -  точночть вычисления собственных значений.
Возвращает вектор собственных значений.

Matrix::Symetr3GetEV3(number)

param Eps;

Метод находит собственные числа
симметричной действительной трехдиагональной матрицы.
Eps -  точночть вычисления собственных значений.
Возвращает вектор собственных значений.

Matrix::T(void)

Returns the transposed matrix to the current one.

Matrix::Transpose(void)

Returns the transposed matrix to the current one.

Matrix::X(void)

Returns X-dimension of the matrix

Matrix::Y(void)

Returns Y-dimension of the matrix

Matrix::^(refer any)

param Operand;

Returns the matrix which is obtained as a result of each matrix 
element substitution for the value acquired after the '^' operation 
between the matrix element and the Operand parameter.

Matrix::^=(refer any)

param Operand;

Each matrix element is substituted for the value acquired after 
the '^' operation between the matrix element and the Operand parameter.
Returns the reference to the matrix that accepted the message.

Matrix::|(refer any)

param Operand;

Returns the matrix which is obtained as a result of each matrix 
element substitution for the value acquired after the '|' operation 
between the matrix element and the Operand parameter.

Matrix::|=(refer any)

param Operand;

Each matrix element is substituted for the value acquired after 
the '|' operation between the matrix element and the Operand parameter.
Returns the reference to the matrix that accepted the message.

Index: