Eigendecomposition of a large symmetric block tridiagonal matrix.

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite
1












I was having a go at implementing the algorithm in the paper Spectral Matting which looks neat.



In it they construct a Matting Laplacian. This is a sparse N×N symmetric matrix, where each row and column represents a pixel in the original image (N is the number of pixels in the image). The only non-zero elements are those corresponding to adjacent pixels, which means it has the following block tridiagonal structure (and each of the little blocks are tridiagonal):



Matrix structure. White pixels are non-zero elements



The algorithm depends on finding a few of the smallest eigenvalues (and eigenvectors) for this matrix. As you might guess, for realistic images the matrix becomes huge, and even using ARPACK (which is what they do), it becomes impossibly slow. Also I'd like to avoid using archaic FORTRAN software if possible!



I'm wondering if there is a faster way to find the smallest eigenvalues/vectors.



So far I've found that you can possibly find the inverse quickly using the block Thomas algorithm. And MRRR can be used to find the eigendecomposition of a tridiagonal matrix. Is there a block MRRR method? How does it scale?



I'd appreciate any help.







share|cite|improve this question























    up vote
    2
    down vote

    favorite
    1












    I was having a go at implementing the algorithm in the paper Spectral Matting which looks neat.



    In it they construct a Matting Laplacian. This is a sparse N×N symmetric matrix, where each row and column represents a pixel in the original image (N is the number of pixels in the image). The only non-zero elements are those corresponding to adjacent pixels, which means it has the following block tridiagonal structure (and each of the little blocks are tridiagonal):



    Matrix structure. White pixels are non-zero elements



    The algorithm depends on finding a few of the smallest eigenvalues (and eigenvectors) for this matrix. As you might guess, for realistic images the matrix becomes huge, and even using ARPACK (which is what they do), it becomes impossibly slow. Also I'd like to avoid using archaic FORTRAN software if possible!



    I'm wondering if there is a faster way to find the smallest eigenvalues/vectors.



    So far I've found that you can possibly find the inverse quickly using the block Thomas algorithm. And MRRR can be used to find the eigendecomposition of a tridiagonal matrix. Is there a block MRRR method? How does it scale?



    I'd appreciate any help.







    share|cite|improve this question





















      up vote
      2
      down vote

      favorite
      1









      up vote
      2
      down vote

      favorite
      1






      1





      I was having a go at implementing the algorithm in the paper Spectral Matting which looks neat.



      In it they construct a Matting Laplacian. This is a sparse N×N symmetric matrix, where each row and column represents a pixel in the original image (N is the number of pixels in the image). The only non-zero elements are those corresponding to adjacent pixels, which means it has the following block tridiagonal structure (and each of the little blocks are tridiagonal):



      Matrix structure. White pixels are non-zero elements



      The algorithm depends on finding a few of the smallest eigenvalues (and eigenvectors) for this matrix. As you might guess, for realistic images the matrix becomes huge, and even using ARPACK (which is what they do), it becomes impossibly slow. Also I'd like to avoid using archaic FORTRAN software if possible!



      I'm wondering if there is a faster way to find the smallest eigenvalues/vectors.



      So far I've found that you can possibly find the inverse quickly using the block Thomas algorithm. And MRRR can be used to find the eigendecomposition of a tridiagonal matrix. Is there a block MRRR method? How does it scale?



      I'd appreciate any help.







      share|cite|improve this question











      I was having a go at implementing the algorithm in the paper Spectral Matting which looks neat.



      In it they construct a Matting Laplacian. This is a sparse N×N symmetric matrix, where each row and column represents a pixel in the original image (N is the number of pixels in the image). The only non-zero elements are those corresponding to adjacent pixels, which means it has the following block tridiagonal structure (and each of the little blocks are tridiagonal):



      Matrix structure. White pixels are non-zero elements



      The algorithm depends on finding a few of the smallest eigenvalues (and eigenvectors) for this matrix. As you might guess, for realistic images the matrix becomes huge, and even using ARPACK (which is what they do), it becomes impossibly slow. Also I'd like to avoid using archaic FORTRAN software if possible!



      I'm wondering if there is a faster way to find the smallest eigenvalues/vectors.



      So far I've found that you can possibly find the inverse quickly using the block Thomas algorithm. And MRRR can be used to find the eigendecomposition of a tridiagonal matrix. Is there a block MRRR method? How does it scale?



      I'd appreciate any help.









      share|cite|improve this question










      share|cite|improve this question




      share|cite|improve this question









      asked Jan 30 '13 at 19:03









      Timmmm

      1496




      1496

























          active

          oldest

          votes











          Your Answer




          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "69"
          ;
          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',
          convertImagesToLinks: true,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );








           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f290767%2feigendecomposition-of-a-large-symmetric-block-tridiagonal-matrix%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes










           

          draft saved


          draft discarded


























           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f290767%2feigendecomposition-of-a-large-symmetric-block-tridiagonal-matrix%23new-answer', 'question_page');

          );

          Post as a guest













































































          Comments

          Popular posts from this blog

          What is the equation of a 3D cone with generalised tilt?

          Color the edges and diagonals of a regular polygon

          Relationship between determinant of matrix and determinant of adjoint?