Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / solver.getInverse(); что в коде / 17 сообщений из 17, страница 1 из 1
03.04.2013, 00:55:27
    #38210200
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
В переменной solverсодержатся данные:
data=
[[-0.008316156031361408, 0.0016597798581932431, 0.004659187846671818],
[-0.1995849827653518, -0.010812949430490144, 0.0046376510670901], [
-0.5602573868385053, -0.42889787813239394, -0.010873895267668882]]
pivot=[0, 1, 2];

singular= false

после
Код Java(TM) 2 Platform Standard Edition 5.0
1
RealMatrix X = solver.getInverse();
X
data=[[-162.2928234618888, -43.93250490004384, -59.39536353398343],
[-43.93250490004383, -109.39867779872003, -39.442892135224696],
[-59.39536353398342, -39.442892135224696, -91.96336504851932]]

Собственно вопрос. Какие математические операции были произведены для получения такой матрицы в X?
...
Рейтинг: 0 / 0
03.04.2013, 01:49:25
    #38210220
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
Отвечает Инна Друзь
...
Рейтинг: 0 / 0
03.04.2013, 03:57:05
    #38210240
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
Обратная матрица - матрица, которая при умножении на исходную дает единичную.
Видимо, был применен алгоритм поиска обратной матрицы.
...
Рейтинг: 0 / 0
03.04.2013, 03:58:29
    #38210241
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
Но это всего лишь моя догадка, т.к. я не удосужился проверить обратность матриц.
...
Рейтинг: 0 / 0
03.04.2013, 11:08:14
    #38210582
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
Неверно. я тоже сначала проверял этот вариант.
Обратная матрица умноженная на изходную должна дать единичную. Тут же получается
43.394612 25.680215 -0.314037
44.297854 18.026977 -0.283145
59.889305 39.770803 0.540343
Как то не очень похожа на единичную)
...
Рейтинг: 0 / 0
03.04.2013, 11:33:00
    #38210646
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
GusarJava,

неочень понел, как вы умножали. Умножа первую строку первой матрицы на первый столбец второй, я получил что-то около 1.37-0.что-то-там-0.27 что в результате вполне может дать 1
...
Рейтинг: 0 / 0
03.04.2013, 11:35:54
    #38210651
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
А в чем поинт? Apache Commons Math. JavaDoc есть. Исходники есть.
...
Рейтинг: 0 / 0
03.04.2013, 12:22:48
    #38210810
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
http://www.bl2.ru/matematic/matrix/mult.html
если неврете мои расчетом, проверте здесь.
...
Рейтинг: 0 / 0
03.04.2013, 12:23:16
    #38210811
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
BlazkowiczА в чем поинт? Apache Commons Math. JavaDoc есть. Исходники есть.

Можете подсказать где его найти?
...
Рейтинг: 0 / 0
03.04.2013, 12:26:46
    #38210828
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
...
Рейтинг: 0 / 0
03.04.2013, 13:49:18
    #38211067
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
BlazkowiczJavaDoc
http://commons.apache.org/proper/commons-math/apidocs/
JavaDoc вашего solver-а
http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/linear/DecompositionSolver.html
Скачать бинарники, исходники:
http://commons.apache.org/proper/commons-math/download_math.cgi
Посмотреть исходники в SVN
http://svn.apache.org/viewvc/commons/proper/math/trunk/

может сомной что-то не так) но все что я нашел это документация. и некая подобия хедера, без текста реализации.
собсвенно вот:
public interface DecompositionSolver {

/** Solve the linear equation A × X = B for matrices A.
* <p>The A matrix is implicit, it is provided by the underlying
* decomposition algorithm.</p>
* @param b right-hand side of the equation A × X = B
* @return a vector X that minimizes the two norm of A × X - B
* @throws org.apache.commons.math3.exception.DimensionMismatchException
* if the matrices dimensions do not match.
* @throws SingularMatrixException
* if the decomposed matrix is singular.
*/
RealVector solve(final RealVector b);

/** Solve the linear equation A × X = B for matrices A.
* <p>The A matrix is implicit, it is provided by the underlying
* decomposition algorithm.</p>
* @param b right-hand side of the equation A × X = B
* @return a matrix X that minimizes the two norm of A × X - B
* @throws org.apache.commons.math3.exception.DimensionMismatchException
* if the matrices dimensions do not match.
* @throws SingularMatrixException
* if the decomposed matrix is singular.
*/
RealMatrix solve(final RealMatrix b);

/**
* Check if the decomposed matrix is non-singular.
* @return true if the decomposed matrix is non-singular.
*/
boolean isNonSingular();

/** Get the inverse (or pseudo-inverse) of the decomposed matrix.
* @return inverse matrix
* @throws SingularMatrixException
* if the decomposed matrix is singular.
*/
RealMatrix getInverse();
}
...
Рейтинг: 0 / 0
03.04.2013, 13:55:35
    #38211086
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
Стоит наверное поискать какие классы реализует DecompositionSolver и посмотреть реализацию в них? Сделать это за вас?
...
Рейтинг: 0 / 0
03.04.2013, 13:58:06
    #38211093
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
это и есть все что хранится в файле DecompositionSolver.java
...
Рейтинг: 0 / 0
03.04.2013, 14:03:27
    #38211110
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
GusarJavaэто и есть все что хранится в файле DecompositionSolver.java
Я знаю. Поэтому я выше дал не одну только ссылку на этот класс. Например так можно посмотреть кто предлагает реализации DecompositionSolver.
http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/linear/class-use/DecompositionSolver.html
...
Рейтинг: 0 / 0
03.04.2013, 14:04:26
    #38211116
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
В User Guide, тоже не пробовали заглянуть?
http://commons.apache.org/proper/commons-math/userguide/linear.html
...
Рейтинг: 0 / 0
03.04.2013, 14:22:51
    #38211157
GusarJava
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
Blazkowicz, я вам очень благодарен за такое участие в решение моей проблемы.
Я просмотрел ваши сылки. Там описан солвер и как его использовать. Я знаю как он применяется, и в целом описанны методы. Но нет реализации , и подробного описания, про метод getInvers.

Я еще раз извеняюьс за свою невнимательность, если что то пропустил.
...
Рейтинг: 0 / 0
03.04.2013, 14:30:39
    #38211170
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
solver.getInverse(); что в коде
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / solver.getInverse(); что в коде / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]