2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Преобразование матриц
Сообщение07.09.2009, 09:00 


07/09/09
5
Всем доброго времени суток!

У меня возникла следующая задача:
Есть матрица A размерностью n*n.
Необходимо ее преобразовать в матрицу B размерностью m*m (m < n).
Преобразование при этом должно быть обратимо.

В какую сторону мне копать, то есть какие теоремы необходимо проштудировать?

Заранее спасибо за посильную помощь.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 09:26 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Начните с простейшего случая. Придумать обратимое преобразование матриц $2\times 2$ в число. По существу это биективное отображение $R^4$ на $R$.
Ну и аналогично для других размеров.
Существует такое отображение?
Есть ли формула для него?
Надеюсь, с понятием мощности множества Вы знакомы?

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 09:27 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Короче: как без потерь запаковать два числа в одно.
---
Ответ критическим образом зависит от того, зачем Вам это нужно.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 09:29 
Заслуженный участник
Аватара пользователя


21/12/05
5931
Новосибирск
Какими свойствами, кроме обратимости должно обладать, это преобразование? Если никаких, то требуется лишь бесконечность множества $X$, над которым рассматриваются матрицы. В этом случае декартовы степени $X^{n^2}$ равномощны при любых $n$.
Может быть лучше рассказать о Вашей задаче?

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 09:49 


07/09/09
5
Задача заключается в следующем:

Есть наборы коэффициентов, которые представляют собой матрицу A.
Таких наборов может быть большое количество. Их необходимо сравнивать на соответствие друг другу, то есть пробегаемся по наборам и смотрим - попадался нам уже такой или нет.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 10:05 
Заслуженный участник


11/05/08
32166
deil в сообщении #241131 писал(а):
Задача заключается в следующем:

Есть наборы коэффициентов, которые представляют собой матрицу A.
Таких наборов может быть большое количество. Их необходимо сравнивать на соответствие друг другу, то есть пробегаемся по наборам и смотрим - попадался нам уже такой или нет.

Как не крути -- а придётся сравнивать тупым перебором всех элементов матрицы.

Если я правильно понял предыдущие замечания, Вам рекомендуют установить какую-либо биекцию $\mathbb R^{n,n}$ на $\mathbb R$ -- например, перемежая цифры. После чего потребуется сравнивать только по одному числу. Теоретически это возможно, однако практически (с учётом конечности разрядной сетки) будет катастрофически потеряна точность. Конечно, с этим можно справиться, прибегнув к длинной арифметике, но по трудозатратам это к тому же перебору и сведётся.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 10:13 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Тогда, мне кажется, это чисто практическая компьютерная задача из области поиска-сортировки. Здесь необходим критерий соответствия двух наборов. Могут ли наборы разного размера соответствовать друг другу.
Идея обратимого отображения здесь, наверное, неэффективна. Просто если определение соответствия (не просто равенства) двух матриц трудоёмко, то можно действительно для предварительного отбора рассчитывать для каждой матрицы некоторый параметр, согласованный с критерием соответствия. Но не обязательно требовать обратимости.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 10:33 


07/09/09
5
Существует ограничение на значения коэффициентов матрицы A, которое, возможно, позволит решить задачу более простым образом:

все коэффициенты - целые числа, и их сумма постоянна и равна Z

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 10:38 
Заслуженный участник


11/05/08
32166
deil в сообщении #241137 писал(а):
их сумма постоянна и равна Z

ну, это лишь одна связь, фактически количество элементов всего лишь уменьшено на единичку, не стоит и обращать внимания

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 11:56 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Если бы они были ещё и натуральными.

А что надо делать? Просто сравнивать матрицы? Тогда поэлементное сравнение даже быстрее - позволяет вываливаться в середине цикла.

Вы скажите, какие две матрицы соответствуют друг другу? Просто равные? Тогда нечего и огород городить.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 12:08 


07/09/09
5
1-ая и основная задача - сравнение. Две матрицы равны, когда все их элементы равны.
2-ая задача - логи появления данных. Т.е. необходимо определять какие данные и в какой момент пришли

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 12:25 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Ну для проверки равенства целочисленных матриц быстрее поэлементного сравнения вряд ли что найдёте.
Зная особенности матриц, можно было бы поиграть с порядком рассмотрения элементов. То есть подумать над алгоритмом выделения некоторого эффективного необходимого признака равенства. Но это всё просто теоретизирование.
Например, если стоит задача выделения из миллиарда матриц размером тыща на тыщу групп равных матриц.

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 13:32 
Заслуженный участник


26/07/09
1559
Алматы
А что если нарезать каждую матрицу на блоки и последовательно сужать область поиска проверяя равенство соответствующих блоков? То есть, если два соответствующих блока каких-либо двух матриц неравны, то отбрасываем одну из этих матриц и берем следующую, если же блоки равны --- сравниваем следующую пару блоков, etc...

 Профиль  
                  
 
 Re: Преобразование матриц
Сообщение07.09.2009, 13:44 


07/09/09
5
Circiter в сообщении #241164 писал(а):
А что если нарезать каждую матрицу на блоки и последовательно сужать область поиска проверяя равенство соответствующих блоков? То есть, если два соответствующих блока каких-либо двух матриц неравны, то отбрасываем одну из этих матриц и берем следующую, если же блоки равны --- сравниваем следующую пару блоков, etc...

Одна из первых мыслей была именно такой.
Смущает только необходимость ведения логов: слишком большой объем информации придется хранить при условии того, что вариантов возможных значений матрицы не так уж и много (примерно 1000000)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group