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, auprivate 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 doublegetFromTriangle(int line, int indInLine, boolean low)Абстракция для получения элемента из треугольника вне диагонали.private doublegetHighTriangle(int i, int j)Возвращает элемент из верхнего треугольника без диагоналиdoublegetIJ(int i, int j)Доступ к элементам матрицы по индексам строки и столбца.private doublegetLowTriangle(int i, int j)Возвращает элемент из нижнего треугольника без диагоналиdouble[]multiply(double[] x)function that compute (A * x)doublerun(double[] x)Compute the function meaning in the point given like vectordouble[]runGradient(double[] x)Compute gradient of the function in given pointintsize()Размер матрицыjava.lang.StringtoString()
-
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:FunctionCompute the function meaning in the point given like vector -
runGradient
public double[] runGradient(double[] x)Description copied from interface:FunctionCompute gradient of the function in given point- Specified by:
runGradientin interfaceFunction- Parameters:
x- vector that represent point- Returns:
- vector that represent gradient of the function
-
multiply
public double[] multiply(double[] x)Description copied from interface:Functionfunction that compute (A * x) -
getB
public double[] getB()Получение вектора правой части.- Returns:
- вектор b
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-