- Типы матриц и векторов
- Создание и инициализация матриц и векторов
- Копирование матриц, векторов и массивов
- Копирование таймсерий в матрицу или вектор
- Копирование истории тиков в матрицу или вектор
- Вычисление выражений с матрицами и векторами
- Манипуляции над матрицами и векторами
- Произведения матриц и векторов
- Преобразования (разложение) матриц
- Получение статистики
- Характеристики матриц и векторов
- Решение уравнений
- Методы машинного обучения
Характеристики матриц и векторов
Следующая группа методов позволяет получить основные характеристики матриц:
- Rows, Cols — количество строк и столбцов в матрице;
- Norm — одна из предопределенных норм матрицы (ENUM_MATRIX_NORM);
- Cond — число обусловленности матрицы;
- Det — определитель квадратной невырожденной матрицы;
- SLogDet — вычисляет знак и логарифм определителя матрицы;
- Rank — ранг матрицы;
- Trace — сумма элементов по диагоналям матрицы (след);
- Spectrum — спектр матрицы как набор ее собственных значений.
Кроме того для векторов определены такие характеристики:
- Size — длина вектора;
- Norm — одна из предопределенных норм вектора (ENUM_VECTOR_NORM).
Размеры объектов (впрочем, как и индексация элементов в них) используют значения типа ulong.
ulong matrix<T>::Rows()
ulong matrix<T>::Cols()
ulong vector<T>::Size()
Большинство прочих характеристик — это вещественные числа.
double vector<T>::Norm(const ENUM_VECTOR_NORM norm, const int norm_p = 2)
double matrix<T>::Norm(const ENUM_MATRIX_NORM norm)
double matrix<T>::Cond(const ENUM_MATRIX_NORM norm)
double matrix<T>::Det()
double matrix<T>::SLogDet(int &sign)
double matrix<T>::Trace()
Ранг и спектр представляют собой, соответственно, целое число и вектор.
int matrix<T>::Rank()
vector matrix<T>::Spectrum()
Пример вычисления ранга матрицы:
matrix a = matrix::Eye(4, 4);
|
А вот результат работы скрипта:
matrix a (eye)
|