Find the identical rows in a matrixHow to find rows that have maximum value?How to do equality check of a...

Why do real positive eigenvalues result in an unstable system? What about eigenvalues between 0 and 1? or 1?

Creating a chemical industry from a medieval tech level without petroleum

"My boss was furious with me and I have been fired" vs. "My boss was furious with me and I was fired"

As an international instructor, should I openly talk about my accent?

How to keep bees out of canned beverages?

Contradiction proof for inequality of P and NP?

Is it acceptable to use working hours to read general interest books?

Does the damage from the Absorb Elements spell apply to your next attack, or to your first attack on your next turn?

Prove that the countable union of countable sets is also countable

What is the unit of time_lock_delta in LND?

Was Dennis Ritchie being too modest in this quote about C and Pascal?

Why doesn't the standard consider a template constructor as a copy constructor?

How long after the last departure shall the airport stay open for an emergency return?

Which big number is bigger?

Why did Rep. Omar conclude her criticism of US troops with the phrase "NotTodaySatan"?

Suing a Police Officer Instead of the Police Department

Retract an already submitted recommendation letter (written for an undergrad student)

Drawing a german abacus as in the books of Adam Ries

What is this word supposed to be?

Nails holding drywall

Mistake in years of experience in resume?

Do I need to watch Ant-Man and the Wasp and Captain Marvel before watching Avengers: Endgame?

A ​Note ​on ​N!

Crossed out red box fitting tightly around image



Find the identical rows in a matrix


How to find rows that have maximum value?How to do equality check of a large matrix and get the corresponding index position?List manipulation: Dropping first or last row or column of a matrixIs it possible to colour only one column of a matrix?Make a vector of sums of matrix rowsHow to operate on spans of rows in a matrix?Efficiently select the smallest magnitude element from each column of a matrixMatrix expansion and reorganisationMatrix using For LoopChanging the position of rows and columns in a matrix













3












$begingroup$


Suppose I have the following matrix:



M = 
{{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0,1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};

TableForm[M, TableHeadings -> {{S1, S2, S3, S4, S5, S6, S7, S8}}]


matrix



In this case, it turns out that rows (S1, S8), (S2, S3, S4), (S5, S6, S7) have equal element values in identical column positions. I have a 1000 x 1000 matrix to examine and would appreciate any assistance in coding this problem.










share|improve this question











$endgroup$








  • 2




    $begingroup$
    Try Values[PositionIndex[M]]
    $endgroup$
    – Coolwater
    2 hours ago










  • $begingroup$
    @Coolwater If there is a unique row, your method will fail. At least one needs to delete if list has length 1
    $endgroup$
    – Okkes Dulgerci
    49 mins ago
















3












$begingroup$


Suppose I have the following matrix:



M = 
{{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0,1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};

TableForm[M, TableHeadings -> {{S1, S2, S3, S4, S5, S6, S7, S8}}]


matrix



In this case, it turns out that rows (S1, S8), (S2, S3, S4), (S5, S6, S7) have equal element values in identical column positions. I have a 1000 x 1000 matrix to examine and would appreciate any assistance in coding this problem.










share|improve this question











$endgroup$








  • 2




    $begingroup$
    Try Values[PositionIndex[M]]
    $endgroup$
    – Coolwater
    2 hours ago










  • $begingroup$
    @Coolwater If there is a unique row, your method will fail. At least one needs to delete if list has length 1
    $endgroup$
    – Okkes Dulgerci
    49 mins ago














3












3








3





$begingroup$


Suppose I have the following matrix:



M = 
{{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0,1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};

TableForm[M, TableHeadings -> {{S1, S2, S3, S4, S5, S6, S7, S8}}]


matrix



In this case, it turns out that rows (S1, S8), (S2, S3, S4), (S5, S6, S7) have equal element values in identical column positions. I have a 1000 x 1000 matrix to examine and would appreciate any assistance in coding this problem.










share|improve this question











$endgroup$




Suppose I have the following matrix:



M = 
{{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0,1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};

TableForm[M, TableHeadings -> {{S1, S2, S3, S4, S5, S6, S7, S8}}]


matrix



In this case, it turns out that rows (S1, S8), (S2, S3, S4), (S5, S6, S7) have equal element values in identical column positions. I have a 1000 x 1000 matrix to examine and would appreciate any assistance in coding this problem.







list-manipulation matrix






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 3 hours ago









m_goldberg

89.1k873200




89.1k873200










asked 4 hours ago









PRGPRG

1028




1028








  • 2




    $begingroup$
    Try Values[PositionIndex[M]]
    $endgroup$
    – Coolwater
    2 hours ago










  • $begingroup$
    @Coolwater If there is a unique row, your method will fail. At least one needs to delete if list has length 1
    $endgroup$
    – Okkes Dulgerci
    49 mins ago














  • 2




    $begingroup$
    Try Values[PositionIndex[M]]
    $endgroup$
    – Coolwater
    2 hours ago










  • $begingroup$
    @Coolwater If there is a unique row, your method will fail. At least one needs to delete if list has length 1
    $endgroup$
    – Okkes Dulgerci
    49 mins ago








2




2




$begingroup$
Try Values[PositionIndex[M]]
$endgroup$
– Coolwater
2 hours ago




$begingroup$
Try Values[PositionIndex[M]]
$endgroup$
– Coolwater
2 hours ago












$begingroup$
@Coolwater If there is a unique row, your method will fail. At least one needs to delete if list has length 1
$endgroup$
– Okkes Dulgerci
49 mins ago




$begingroup$
@Coolwater If there is a unique row, your method will fail. At least one needs to delete if list has length 1
$endgroup$
– Okkes Dulgerci
49 mins ago










2 Answers
2






active

oldest

votes


















4












$begingroup$

idx = DeleteDuplicates[Sort /@ Nearest[M -> Automatic, M, {∞, 0}]]



{{1, 8}, {2, 3, 4}, {5, 6, 7}}




In order to obtain the labels of the rows, you may use the following:



labels = {S1, S2, S3, S4, S5, S6, S7, S8};
Map[labels[[#]] &, idx, {2}]



{{S1, S8}, {S2, S3, S4}, {S5, S6, S7}}







share|improve this answer











$endgroup$













  • $begingroup$
    Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
    $endgroup$
    – PRG
    4 hours ago










  • $begingroup$
    MANY THANKS, HENRIK!
    $endgroup$
    – PRG
    3 hours ago










  • $begingroup$
    YOU'RE WELCOME, PRG! =D
    $endgroup$
    – Henrik Schumacher
    3 hours ago



















0












$begingroup$

Here is an alternative.



{row, col} = Dimensions@M; 

Flatten /@ DeleteDuplicates[Position[#, ConstantArray[0, col]] & /@ Outer[Subtract, M, M, 1]]



{{1, 8}, {2, 3, 4}, {5, 6, 7}}







share|improve this answer











$endgroup$














    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "387"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f197039%2ffind-the-identical-rows-in-a-matrix%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    4












    $begingroup$

    idx = DeleteDuplicates[Sort /@ Nearest[M -> Automatic, M, {∞, 0}]]



    {{1, 8}, {2, 3, 4}, {5, 6, 7}}




    In order to obtain the labels of the rows, you may use the following:



    labels = {S1, S2, S3, S4, S5, S6, S7, S8};
    Map[labels[[#]] &, idx, {2}]



    {{S1, S8}, {S2, S3, S4}, {S5, S6, S7}}







    share|improve this answer











    $endgroup$













    • $begingroup$
      Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
      $endgroup$
      – PRG
      4 hours ago










    • $begingroup$
      MANY THANKS, HENRIK!
      $endgroup$
      – PRG
      3 hours ago










    • $begingroup$
      YOU'RE WELCOME, PRG! =D
      $endgroup$
      – Henrik Schumacher
      3 hours ago
















    4












    $begingroup$

    idx = DeleteDuplicates[Sort /@ Nearest[M -> Automatic, M, {∞, 0}]]



    {{1, 8}, {2, 3, 4}, {5, 6, 7}}




    In order to obtain the labels of the rows, you may use the following:



    labels = {S1, S2, S3, S4, S5, S6, S7, S8};
    Map[labels[[#]] &, idx, {2}]



    {{S1, S8}, {S2, S3, S4}, {S5, S6, S7}}







    share|improve this answer











    $endgroup$













    • $begingroup$
      Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
      $endgroup$
      – PRG
      4 hours ago










    • $begingroup$
      MANY THANKS, HENRIK!
      $endgroup$
      – PRG
      3 hours ago










    • $begingroup$
      YOU'RE WELCOME, PRG! =D
      $endgroup$
      – Henrik Schumacher
      3 hours ago














    4












    4








    4





    $begingroup$

    idx = DeleteDuplicates[Sort /@ Nearest[M -> Automatic, M, {∞, 0}]]



    {{1, 8}, {2, 3, 4}, {5, 6, 7}}




    In order to obtain the labels of the rows, you may use the following:



    labels = {S1, S2, S3, S4, S5, S6, S7, S8};
    Map[labels[[#]] &, idx, {2}]



    {{S1, S8}, {S2, S3, S4}, {S5, S6, S7}}







    share|improve this answer











    $endgroup$



    idx = DeleteDuplicates[Sort /@ Nearest[M -> Automatic, M, {∞, 0}]]



    {{1, 8}, {2, 3, 4}, {5, 6, 7}}




    In order to obtain the labels of the rows, you may use the following:



    labels = {S1, S2, S3, S4, S5, S6, S7, S8};
    Map[labels[[#]] &, idx, {2}]



    {{S1, S8}, {S2, S3, S4}, {S5, S6, S7}}








    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 3 hours ago

























    answered 4 hours ago









    Henrik SchumacherHenrik Schumacher

    61.2k585171




    61.2k585171












    • $begingroup$
      Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
      $endgroup$
      – PRG
      4 hours ago










    • $begingroup$
      MANY THANKS, HENRIK!
      $endgroup$
      – PRG
      3 hours ago










    • $begingroup$
      YOU'RE WELCOME, PRG! =D
      $endgroup$
      – Henrik Schumacher
      3 hours ago


















    • $begingroup$
      Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
      $endgroup$
      – PRG
      4 hours ago










    • $begingroup$
      MANY THANKS, HENRIK!
      $endgroup$
      – PRG
      3 hours ago










    • $begingroup$
      YOU'RE WELCOME, PRG! =D
      $endgroup$
      – Henrik Schumacher
      3 hours ago
















    $begingroup$
    Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
    $endgroup$
    – PRG
    4 hours ago




    $begingroup$
    Henrik: Can I add the S in front of the result; e.g., (S1,S8),(S3,S4),(S5,S6,S7)?
    $endgroup$
    – PRG
    4 hours ago












    $begingroup$
    MANY THANKS, HENRIK!
    $endgroup$
    – PRG
    3 hours ago




    $begingroup$
    MANY THANKS, HENRIK!
    $endgroup$
    – PRG
    3 hours ago












    $begingroup$
    YOU'RE WELCOME, PRG! =D
    $endgroup$
    – Henrik Schumacher
    3 hours ago




    $begingroup$
    YOU'RE WELCOME, PRG! =D
    $endgroup$
    – Henrik Schumacher
    3 hours ago











    0












    $begingroup$

    Here is an alternative.



    {row, col} = Dimensions@M; 

    Flatten /@ DeleteDuplicates[Position[#, ConstantArray[0, col]] & /@ Outer[Subtract, M, M, 1]]



    {{1, 8}, {2, 3, 4}, {5, 6, 7}}







    share|improve this answer











    $endgroup$


















      0












      $begingroup$

      Here is an alternative.



      {row, col} = Dimensions@M; 

      Flatten /@ DeleteDuplicates[Position[#, ConstantArray[0, col]] & /@ Outer[Subtract, M, M, 1]]



      {{1, 8}, {2, 3, 4}, {5, 6, 7}}







      share|improve this answer











      $endgroup$
















        0












        0








        0





        $begingroup$

        Here is an alternative.



        {row, col} = Dimensions@M; 

        Flatten /@ DeleteDuplicates[Position[#, ConstantArray[0, col]] & /@ Outer[Subtract, M, M, 1]]



        {{1, 8}, {2, 3, 4}, {5, 6, 7}}







        share|improve this answer











        $endgroup$



        Here is an alternative.



        {row, col} = Dimensions@M; 

        Flatten /@ DeleteDuplicates[Position[#, ConstantArray[0, col]] & /@ Outer[Subtract, M, M, 1]]



        {{1, 8}, {2, 3, 4}, {5, 6, 7}}








        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 37 mins ago

























        answered 57 mins ago









        Okkes DulgerciOkkes Dulgerci

        5,5511919




        5,5511919






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematica Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f197039%2ffind-the-identical-rows-in-a-matrix%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            “%fieldName is a required field.”, in Magento2 REST API Call for GET Method Type The Next...

            How to change City field to a dropdown in Checkout step Magento 2Magento 2 : How to change UI field(s)...

            夢乃愛華...