Package matrix

Class LineColumnMatrix

java.lang.Object
matrix.LineColumnMatrix
All Implemented Interfaces:
Function

public class LineColumnMatrix
extends java.lang.Object
implements Function
Класс, реализующий хранение матриц в разреженно строчно-столбцовом формате
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private double[] al
    Массив al - строки нижнего треуольника без нулей
    private double[] au
    Массив au - столбцы верхнего треугольника без нулей
    private double[] b
    Массив b - правая часть уравнения
    private double[] d
    Массив d - диагональ матрицы
    private int[] ia
    Массив ia - индексный массив для al, au
    private int[] ja
    Массив ja - массив номеров столбцов (строк) в al (au)
    private static java.lang.String[] NAME_OF_FILES
    Набор всех файлов для чтения и заполнения класса.
  • Constructor Summary

    Constructors 
    Constructor Description
    LineColumnMatrix​(java.lang.String pathOfMatrixAndVector)
    Стандартный конструктор.
  • Method Summary

    Modifier and Type Method Description
    double[] getB()
    Получение вектора правой части.
    private double getFromTriangle​(int line, int indInLine, boolean low)
    Абстракция для получения элемента из треугольника вне диагонали.
    private double getHighTriangle​(int i, int j)
    Возвращает элемент из верхнего треугольника без диагонали
    double getIJ​(int i, int j)
    Доступ к элементам матрицы по индексам строки и столбца.
    private double getLowTriangle​(int i, int j)
    Возвращает элемент из нижнего треугольника без диагонали
    double[] multiply​(double[] x)
    function that compute (A * x)
    double run​(double[] x)
    Compute the function meaning in the point given like vector
    double[] runGradient​(double[] x)
    Compute gradient of the function in given point
    int size()
    Размер матрицы
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • al

      private double[] al
      Массив al - строки нижнего треуольника без нулей
    • au

      private double[] au
      Массив au - столбцы верхнего треугольника без нулей
    • d

      private double[] d
      Массив d - диагональ матрицы
    • b

      private double[] b
      Массив b - правая часть уравнения
    • ia

      private int[] ia
      Массив ia - индексный массив для al, au
    • ja

      private int[] ja
      Массив ja - массив номеров столбцов (строк) в al (au)
    • NAME_OF_FILES

      private static final java.lang.String[] NAME_OF_FILES
      Набор всех файлов для чтения и заполнения класса.
  • Constructor Details

    • LineColumnMatrix

      public LineColumnMatrix​(java.lang.String pathOfMatrixAndVector)
      Стандартный конструктор.
      Parameters:
      pathOfMatrixAndVector - - путь, по которому лежат файлы из NAME_OF_FILES
  • Method Details

    • size

      public int size()
      Размер матрицы
      Returns:
      рамзер матрицы
    • getIJ

      public double getIJ​(int i, int j)
      Доступ к элементам матрицы по индексам строки и столбца.
      Parameters:
      i - - строка матрицы
      j - - столбец матрицы
      Returns:
      элемент из матрицы. Аналогично плотной матрице А - A[i][j].
    • getLowTriangle

      private double getLowTriangle​(int i, int j)
      Возвращает элемент из нижнего треугольника без диагонали
      Parameters:
      i - - строка
      j - - столбец
      Returns:
      значение из нижнего треугольника
    • getHighTriangle

      private double getHighTriangle​(int i, int j)
      Возвращает элемент из верхнего треугольника без диагонали
      Parameters:
      i - - строка
      j - - столбец
      Returns:
      значение из верхнего треугольника
    • getFromTriangle

      private double getFromTriangle​(int line, int indInLine, boolean low)
      Абстракция для получения элемента из треугольника вне диагонали.
      Parameters:
      line - - строка треугольника
      indInLine - - столбец треугольника, менший чем строка
      low - - флаг, что берут из из нижнего треугольника
      Returns:
      значение из треугольной матрицы
    • run

      public double run​(double[] x)
      Description copied from interface: Function
      Compute the function meaning in the point given like vector
      Specified by:
      run in interface Function
      Parameters:
      x - vector that represent point
      Returns:
      meaning of function like f(x)
    • runGradient

      public double[] runGradient​(double[] x)
      Description copied from interface: Function
      Compute gradient of the function in given point
      Specified by:
      runGradient in interface Function
      Parameters:
      x - vector that represent point
      Returns:
      vector that represent gradient of the function
    • multiply

      public double[] multiply​(double[] x)
      Description copied from interface: Function
      function that compute (A * x)
      Specified by:
      multiply in interface Function
      Parameters:
      x - point for multiply
      Returns:
      result of computing (A * x)
    • getB

      public double[] getB()
      Получение вектора правой части.
      Returns:
      вектор b
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object