2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Эффективный подход для выделения линейно-независимых столбцо
Сообщение05.07.2014, 16:33 
Аватара пользователя
Добрый день! Столкнулась с проблемой при написании функции, которая отбрасывает линейно зависимые столбцы матриц (матрица двоичная и разреженная, но это уже совсем другая история). Из того, что я вспомнила из студенческого курса и нашла в гугле – вариант в принципе один: применить метод Гаусса. Дальше видимо нужно смотреть, какие столбцы занулятся и выкинуть их из исходной матрицы. Подскажите, хорош ли такой подход из соотношения простота/быстродействие? И какие есть альтернативы?

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение05.07.2014, 17:17 
Приводите матрицу к ступенчатому виду элементарными преобразованиями строк, там где уголки, те столбцы можно взять за линейно независимые

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение06.07.2014, 01:25 
GreenEkatherine в сообщении #884181 писал(а):
Подскажите, хорош ли такой подход из соотношения простота/быстродействие? И какие есть альтернативы?
Не знаю, хорош или нет, но его надо будет обязательно специализировать под данные, заметив, что умножать и вычитать не нужно, а нужен только xor. (Это на всякий случай — такая идея должна и сама приходить. :-) )

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 10:55 
Аватара пользователя
mihailm в сообщении #884192 писал(а):
Приводите матрицу к ступенчатому виду элементарными преобразованиями строк, там где уголки, те столбцы можно взять за линейно независимые


Мне кажется, навскидку здесь не сработает (у второго столбца нет "уголка", но он линейно независим):

10010
10001
1010
100

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 11:09 
Это нулевой-то столбец? :evil:

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 11:19 
Аватара пользователя
Otta в сообщении #884856 писал(а):
Это нулевой-то столбец? :evil:


Ой, исправляюсь. По привычке смотрела на строки.

Вот здесь:

10010
1000
1001
100

То есть "привести к ступенчатому виду" = использовать метод Гаусса, и по углам определять? Я не поняла изначально отличия от предложенного мной подхода.

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 11:39 
GreenEkatherine в сообщении #884181 писал(а):
Столкнулась с проблемой при написании функции, которая отбрасывает линейно зависимые столбцы матриц
:twisted: Вы хотя бы понимаете, что линейно зависимыми бывают не столбцы, а наборы столбцов? Если да, то сформулируйте задачу нормально :twisted:

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 13:06 
Аватара пользователя
patzer2097
нормально формулирую задачу: оставить в матрице множество линейно независимых столбцов. Называя столбец линейно независимым, я подразумевала, что он относится к линейно независимому подмножеству.

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 14:33 
GreenEkatherine
Непустое? А из одного столбца сгодится? Или вы все-таки хотите максимальную линейно независимую подсистему?

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 15:10 
GreenEkatherine в сообщении #884901 писал(а):
нормально формулирую задачу: оставить в матрице множество линейно независимых столбцов. Называя столбец линейно независимым, я подразумевала, что он относится к линейно независимому подмножеству.

:twisted: понятно. но в такой формулировке Вам достаточно удалить нулевые столбцы, а все остальные оставить. после того, как столбцы будут удалены, советую начать читать учебник :twisted:

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 16:54 
Аватара пользователя
Действительно, проще привязываться к формулировке и отсылать читать учебники.

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 17:33 
А почему вы думаете, что правильная формулировка получается из вашей единственным образом? Может, из неё исправлением можно несколько разных получить? Задача правильно сформулировать — ваша, тем более что осталось всего ничего: просто скажите,
Joker_vD в сообщении #884920 писал(а):
вы все-таки хотите максимальную линейно независимую подсистему
или любую. (Если любую, берите первый встреченный ненулевой столбец, вот и независимая система.)

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 17:36 
GreenEkatherine в сообщении #884853 писал(а):
...Мне кажется, навскидку здесь не сработает (у второго столбца нет "уголка", но он линейно независим):
10010
10001
1010
100

Точнее у такой
10010
10001
01010
00100
Но ведь она не приведена к ступенчатому виду. Избавьтесь от первой единички во второй строке

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 17:44 
Аватара пользователя
arseniiv
Да, максимальную.

-- 07.07.2014, 17:46 --

mihailm
Поняла, спасибо.

 
 
 
 Re: Эффективный подход для выделения линейно-независимых столбцо
Сообщение07.07.2014, 18:18 
GreenEkatherine в сообщении #884949 писал(а):
Действительно, проще привязываться к формулировке и отсылать читать учебники.

ок, не хотите - не читайте, больше не отсылаю, извините

 
 
 [ Сообщений: 16 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group