Working with a set of matrices
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Lorcan O'Connor
il 3 Apr 2021
Commentato: Lorcan O'Connor
il 3 Apr 2021
I want to generate a finite matrix group by starting with the S ={identity} and multiplying by some generators until S no longer grows in size.
Is there an efficient way to deal with a "set" like this, without manualling checking for duplicates? For example, it seems awkward if you use cell arrays to store the elements of S.
2 Commenti
Matt J
il 3 Apr 2021
For example, it seems awkward if you use cell arrays to store the elements of S.
Why?
Risposta accettata
Matt J
il 3 Apr 2021
Modificato: Matt J
il 3 Apr 2021
I'm not sure I will fully understand the task without seeing an example. However, if S is organized as an MxNxP array,
[M,N]=deal(3,3);
S=cat(3,eye(M,N), randi(5,M,N), eye(M,N) )
then you can get rid of duplicate slices with
s=reshape(S,[],size(S,3));
S=reshape( unique(s.','rows').', M,N,[])
If S contains non-integer matrices, you will probably need to use uniquetol() instead of unique().
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!