help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hess(rosser())


From: Matyas Sustik
Subject: Re: hess(rosser())
Date: Wed, 4 Jul 2012 11:25:07 -0500


> I do not know how symmetric matrices are handled in Octave.  Is it
> checked every time?  Is there a mark on the matrix for efficiency? It
> could also be the case that rosser() does not mark the matrix as
> symmetric and so hess() uses the wrong algorithm.
>
> -Matyas
>

help matrix_type

I do not see symmetric as specific type to be recognised or used

Marco

I looked at the source code.  It appears that (dense) symmetric matrices are not
handled specially in the eigenvalue routines.  However, the concept of symmetry in octave does exist.

There is an is_symmetric() function in the Matrix class.  There is a mark_as_symmetric() function in the MatrixType class.

Furthermore the Matrix::determinant() function uses dpotrf which is meant for (symmetric) positive definite matrices and the related check reads:
else if (typ == MatrixType::Hermitian). (I am a bit unsure how this works for a complex valued matrix, since the LAPACK dpotrf works only on real matrices.  Maybe further examination of the code would reveal that the matrix at that point must be real.)

So it seems that support for improved algorithms for symmetric matrices could be done  by extending the existing framework.  It maybe not be that large an undertaking.

If any octave developers are reading this: I would consider implementing the changes, please email me at address@hidden. I may need some pointers on how to handle symmetric/hermitian matrices. Also I do not wish to duplicate an effort if someone else is already working on this.

-Matyas

reply via email to

[Prev in Thread] Current Thread [Next in Thread]