You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Michael McCormick <mm...@runbox.com> on 2013/05/28 20:18:35 UTC

Matrix exponential?

Hi folks,

I'm looking at a few linear algebra libraries for a Java project.  I need to implement clustering of a graph whose edge weights come from a matrix exponential.  I've noticed that, of the three major math libraries I've found available in Java (JBLAS, Colt, Commons Math), only JBLAS offers a matrix exponential function expm() similar to what is in Matlab. 

Unfortunately, JBLAS appears to be dormant and does not have Win64 support, which is going to be a problem for 80% of users.

I'm curious why this hasn't been included yet in Commons Math, or whether there are plans to include it any time soon.  Has anyone else found a portable solution, short of writing the algorithm?  This project will involve control systems and a matrix exponential will be an important part of the toolkit.

Thanks!

Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Re: Matrix exponential?

Posted by Ted Dunning <te...@gmail.com>.
Ah... of course.  Diagonalization is not always possible.

Never mind.


On Tue, May 28, 2013 at 1:03 PM, Michael McCormick <mm...@runbox.com>wrote:

> Hi Ted,
>
> You are not under-informed, but there is a strong possibility that I am.
>  There are of course many ways to compute the exponential of a matrix, the
> Schur decomposition and eigendecompositions among them.
>
> The algorithm implemented by Matlab's expm() uses a Pade approximation and
> a square-and-rescale technique that is supposedly  faster and numerically
> very robust.
>
> On May 28, 2013, at 3:28 PM, Ted Dunning <te...@gmail.com> wrote:
>
> > I think I am under informed here.
> >
> > Isn't the matrix exponential normally computed using eigen
> decomposition?  It seems from the series expansion that all that is
> involved is to exponentiate the diagonal in the eigen vector form.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>
>

Re: Matrix exponential?

Posted by Michael McCormick <mm...@runbox.com>.
Hi Ted,

You are not under-informed, but there is a strong possibility that I am.  There are of course many ways to compute the exponential of a matrix, the Schur decomposition and eigendecompositions among them.

The algorithm implemented by Matlab's expm() uses a Pade approximation and a square-and-rescale technique that is supposedly  faster and numerically very robust.

On May 28, 2013, at 3:28 PM, Ted Dunning <te...@gmail.com> wrote:

> I think I am under informed here.  
> 
> Isn't the matrix exponential normally computed using eigen decomposition?  It seems from the series expansion that all that is involved is to exponentiate the diagonal in the eigen vector form. 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Re: Matrix exponential?

Posted by Ted Dunning <te...@gmail.com>.
I think I am under informed here.  

Isn't the matrix exponential normally computed using eigen decomposition?  It seems from the series expansion that all that is involved is to exponentiate the diagonal in the eigen vector form. 

Sent from my iPhone

On May 28, 2013, at 11:18, Michael McCormick <mm...@runbox.com> wrote:

> Hi folks,
> 
> I'm looking at a few linear algebra libraries for a Java project.  I need to implement clustering of a graph whose edge weights come from a matrix exponential.  I've noticed that, of the three major math libraries I've found available in Java (JBLAS, Colt, Commons Math), only JBLAS offers a matrix exponential function expm() similar to what is in Matlab. 
> 
> Unfortunately, JBLAS appears to be dormant and does not have Win64 support, which is going to be a problem for 80% of users.
> 
> I'm curious why this hasn't been included yet in Commons Math, or whether there are plans to include it any time soon.  Has anyone else found a portable solution, short of writing the algorithm?  This project will involve control systems and a matrix exponential will be an important part of the toolkit.
> 
> Thanks!
> 
> Mike
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org