Package SaZhaK

Class MatrixUtil

java.lang.Object
SaZhaK.MatrixUtil

public final class MatrixUtil
extends java.lang.Object
Утилитарный класс для работы с матрицами
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    private MatrixUtil()  
  • 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 double dotProduct​(double[] vector1, double[] vector2)
    Функция скалярного произведение векторов Kariel
    static boolean equals​(double[][] matrix1, double[][] matrix2)
    Функция для сравнения двух матриц
    static boolean equals​(double[] vector1, double[] vector2)
    Функция для сравнения двух векторов
    static double frobeniusNorm​(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 double norm​(double[] vector)
    Функция подсчёта нормы вектора
    static double norm​(double[][] matrix)
    Функция подсчёта нормы бесконечности матрицы
    static void print​(double[] vector)
    Функция вывода вектора на консоль
    static void print​(double[][] matrix)
    Функция вывода матрицы на консоль
    static int rang​(double[][] matrix)
    Функция вычисления ранга матрицы A
    static double round​(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 void subtractRows​(double[][] matrix, int subtrahendRow, int minuendRow, double rate, int bound)
    Функция для вычитания одной строи из другой с указанным коэффициентом
    private static void swap​(double[][] mat, int row1, int row2, int col)
    Функция для перестановки строк до указанного элемента
    static void swapColumns​(double[][] matrix, int sourceColumn, int targetColumn)
    Функция перестановки местами столбцов матрицы
    static void swapRows​(double[][] matrix, int sourceRow, int targetRow)
    Функция перестановки местами строк матрицы
    static void transposeMatrix​(double[][] matrix)
    Функция транспонирования матрицы

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • 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)