Package SaZhaK
Class MatrixUtil
java.lang.Object
SaZhaK.MatrixUtil
public final class MatrixUtil
extends java.lang.Object
Утилитарный класс для работы с матрицами
-
Constructor Summary
Constructors Modifier Constructor Description privateMatrixUtil() -
Method Summary
Modifier and Type Method Description static double[][]add(double[][] matrix1, double[][] matrix2)Функция сложения двух матрицstatic double[]add(double[] vector1, double[] vector2)Функция сложения двух векторовstatic double[][]change(double[][] matrix, int[] vector)static double[]change(double[] vector, int[] vectorP)static double[][]changeColumns(double[][] matrix, int[] vectorQ)static double[]copy(double[] vector)Функция для копирования матрицstatic double[][]copy(double[][] matrix)Функция для копирования матрицstatic doubledotProduct(double[] vector1, double[] vector2)Функция скалярного произведение векторов Karielstatic booleanequals(double[][] matrix1, double[][] matrix2)Функция для сравнения двух матрицstatic booleanequals(double[] vector1, double[] vector2)Функция для сравнения двух векторовstatic doublefrobeniusNorm(double[][] matrix)Функция подсчёта нормы Фробениуса матрицыstatic double[][]generateDiagonalPredominanceMatrix(int dimension, int matrixElementModule)Функция генерации диагональной матрицы с преобладанием, имеющий заданный размера и состоящей из случайных элементовstatic double[][]generateMatrix(int dimension, int matrixElementModule)Функция генерации матрицы заданного размера, состоящей из случайных элементовstatic double[][]generatePositiveDefiniteMatrix(int dimension, int matrixElementModule)Функция генерации положительно определнной матрицы заданного размера, состоящей из случайных элементовstatic double[][]generateUnitMatrix(int dimension)Функция генерации единичной матрицы укзанного размераstatic double[]generateUnityVector(int dimension)Функция генерации вектора заданной длины, состоящего из случайных элементовstatic double[]generateVector(int dimension, int vectorElementModule)Функция генерации вектора заданной длины, состоящего из случайных элементовstatic double[][]generateZeroMatrix(int dimension)Функция генерации матрицы заданного размера, состоящей из случайных элементовstatic double[]generateZeroVector(int dimension)Функция генерации вектора заданной длины, состоящего из случайных элементовstatic double[][]multiply(double[][] matrix, double number)Функция произведения матрицы на числоstatic double[]multiply(double[][] matrix, double[] vector)Функция произведения матрицы на векторstatic double[][]multiply(double[][] matrixA, double[][] matrixB)Функция произведения двух матрицstatic double[]multiply(double[] vector, double number)Функция произведения вектора на числоstatic double[][]multiply(double[] vector1, double[] vector2)Функция произведения вектора на векторstatic doublenorm(double[] vector)Функция подсчёта нормы вектораstatic doublenorm(double[][] matrix)Функция подсчёта нормы бесконечности матрицыstatic voidprint(double[] vector)Функция вывода вектора на консольstatic voidprint(double[][] matrix)Функция вывода матрицы на консольstatic intrang(double[][] matrix)Функция вычисления ранга матрицы Astatic doubleround(double num, double digitsNumber)Функция для приближения резульатов вычислений Необходимость существования этой функции обусловлена тем, что любые операции с double, включая даже сложение дают неточный результат Как следствие, получить верхнюю треугольную с нулями под главной диагональю матрицу без использования округлений невозможноstatic double[][]subtract(double[][] matrix1, double[][] matrix2)Функция вычитания двух матрицstatic double[]subtract(double[] vector1, double[] vector2)Функция вычитания двух векторовstatic double[][]subtractFromSpecifiedPosition(double[][] matrix1, double[][] matrix2, int start)Функция вычитания двух матриц, начниая с указанного элементаstatic voidsubtractRows(double[][] matrix, int subtrahendRow, int minuendRow, double rate, int bound)Функция для вычитания одной строи из другой с указанным коэффициентомprivate static voidswap(double[][] mat, int row1, int row2, int col)Функция для перестановки строк до указанного элементаstatic voidswapColumns(double[][] matrix, int sourceColumn, int targetColumn)Функция перестановки местами столбцов матрицыstatic voidswapRows(double[][] matrix, int sourceRow, int targetRow)Функция перестановки местами строк матрицыstatic voidtransposeMatrix(double[][] matrix)Функция транспонирования матрицы
-
Constructor Details
-
MatrixUtil
private MatrixUtil()
-
-
Method Details
-
print
public static void print(double[] vector)Функция вывода вектора на консоль -
print
public static void print(double[][] matrix)Функция вывода матрицы на консоль -
equals
public static boolean equals(double[][] matrix1, double[][] matrix2)Функция для сравнения двух матриц -
equals
public static boolean equals(double[] vector1, double[] vector2)Функция для сравнения двух векторов -
generateVector
public static double[] generateVector(int dimension, int vectorElementModule)Функция генерации вектора заданной длины, состоящего из случайных элементов -
generateUnityVector
public static double[] generateUnityVector(int dimension)Функция генерации вектора заданной длины, состоящего из случайных элементов -
generateZeroVector
public static double[] generateZeroVector(int dimension)Функция генерации вектора заданной длины, состоящего из случайных элементов -
generateMatrix
public static double[][] generateMatrix(int dimension, int matrixElementModule)Функция генерации матрицы заданного размера, состоящей из случайных элементов -
generateDiagonalPredominanceMatrix
public static double[][] generateDiagonalPredominanceMatrix(int dimension, int matrixElementModule)Функция генерации диагональной матрицы с преобладанием, имеющий заданный размера и состоящей из случайных элементов -
generatePositiveDefiniteMatrix
public static double[][] generatePositiveDefiniteMatrix(int dimension, int matrixElementModule)Функция генерации положительно определнной матрицы заданного размера, состоящей из случайных элементов -
generateUnitMatrix
public static double[][] generateUnitMatrix(int dimension)Функция генерации единичной матрицы укзанного размера -
generateZeroMatrix
public static double[][] generateZeroMatrix(int dimension)Функция генерации матрицы заданного размера, состоящей из случайных элементов -
copy
public static double[] copy(double[] vector)Функция для копирования матриц -
copy
public static double[][] copy(double[][] matrix)Функция для копирования матриц -
transposeMatrix
public static void transposeMatrix(double[][] matrix)Функция транспонирования матрицы -
add
public static double[] add(double[] vector1, double[] vector2)Функция сложения двух векторов -
add
public static double[][] add(double[][] matrix1, double[][] matrix2)Функция сложения двух матриц -
subtract
public static double[] subtract(double[] vector1, double[] vector2)Функция вычитания двух векторов -
subtract
public static double[][] subtract(double[][] matrix1, double[][] matrix2)Функция вычитания двух матриц -
subtractFromSpecifiedPosition
public static double[][] subtractFromSpecifiedPosition(double[][] matrix1, double[][] matrix2, int start)Функция вычитания двух матриц, начниая с указанного элемента -
dotProduct
public static double dotProduct(double[] vector1, double[] vector2)Функция скалярного произведение векторов Kariel -
multiply
public static double[] multiply(double[] vector, double number)Функция произведения вектора на число -
multiply
public static double[][] multiply(double[] vector1, double[] vector2)Функция произведения вектора на вектор -
multiply
public static double[][] multiply(double[][] matrix, double number)Функция произведения матрицы на число -
multiply
public static double[] multiply(double[][] matrix, double[] vector)Функция произведения матрицы на вектор -
multiply
public static double[][] multiply(double[][] matrixA, double[][] matrixB)Функция произведения двух матриц -
norm
public static double norm(double[] vector)Функция подсчёта нормы вектора -
norm
public static double norm(double[][] matrix)Функция подсчёта нормы бесконечности матрицы -
frobeniusNorm
public static double frobeniusNorm(double[][] matrix)Функция подсчёта нормы Фробениуса матрицы -
rang
public static int rang(double[][] matrix)Функция вычисления ранга матрицы A -
swap
private static void swap(double[][] mat, int row1, int row2, int col)Функция для перестановки строк до указанного элемента -
swapRows
public static void swapRows(double[][] matrix, int sourceRow, int targetRow)Функция перестановки местами строк матрицы -
swapColumns
public static void swapColumns(double[][] matrix, int sourceColumn, int targetColumn)Функция перестановки местами столбцов матрицы -
subtractRows
public static void subtractRows(double[][] matrix, int subtrahendRow, int minuendRow, double rate, int bound)Функция для вычитания одной строи из другой с указанным коэффициентом -
round
public static double round(double num, double digitsNumber)Функция для приближения резульатов вычислений Необходимость существования этой функции обусловлена тем, что любые операции с double, включая даже сложение дают неточный результат Как следствие, получить верхнюю треугольную с нулями под главной диагональю матрицу без использования округлений невозможно -
change
public static double[][] change(double[][] matrix, int[] vector) -
change
public static double[] change(double[] vector, int[] vectorP) -
changeColumns
public static double[][] changeColumns(double[][] matrix, int[] vectorQ)
-