Your comments
There are no independent solutions but solutions to problems.
Some answers to your questions, apparently, they are trivial and therefore I am afraid I do not understand exactly the problem; so please expose some code and error/warning messages from Matlab.
So certainly the odds of finding solutions will grow.
Of course, I have nothing against :)
I sent to you by email a piece of reference from Matlab's childhood
It is useless, of course, but it is a relic from another time ... :)
Prior, to make it working, I used:
[z(perm,:),t] = ordschur(z,t,'lhp'); Success = 1;
if I had a thousand dollars for each data when I'm wrong, that would be great :) But how I'm not Microsoft employee's, I do not receive the money.
From zpotrf.f
" ...
A is COMPLEX*16 array, dimension (LDA,N)
On entry, the Hermitian matrix A. If UPLO = 'U', the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO = 'L', the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
... "
What do you think?
" ...
A is COMPLEX*16 array, dimension (LDA,N)
On entry, the Hermitian matrix A. If UPLO = 'U', the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO = 'L', the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
... "
What do you think?
I guess I'm missing something ... what does the norm matrix with problems raised by you, right or wrong behavior of the Matlab function chol?
Motto: "No matter what you want, what you get counts"
Your example matrix was not Hermitian ! (but it does not really matter for matlab chol! :) ... it's the truth )
But ( back to Matlab doc):
"
R = chol(A)
produces an upper triangular matrix R from the diagonal and upper triangle of matrix A, satisfying the equation R'*R=A. The chol function ASSUMES that A is (complex Hermitian) symmetric. If it is not, chol uses the (complex conjugate) transpose of the upper triangle as the lower triangle. Matrix A ... " (his matrix A) " ...must be positive definite."Matlab chol function NEVER look your ENTIRE matrix but ONLY the upper triangular part (or lower if the second arg is 'lower') of your matrix.
From this triangular part of YOUR matrix, Matlab build a virtual OWN matrix AND THAT MATRIX IS ALWAYS hermitian (or symmetric if not complex). The R result is always the decomposition of THAT HERMITIAN matrix.
... and, YES, correct result should be R=[], p=1 and (I checked yesterday even symbolic), if you read my post I wrote " The matrix, of course, is not positive defined but the documentation says: ...".
More, I suppose, with chances to be fair, the implementation of chol is a package of algorithms that are, when appropriate, improved.
However, the interface (the public contract of chol function) was maintained.
What I say is:
1.
that the result is fair in light of promises made in the matlab documentation and
2.
I never said that sample matrix should be positive.
1.
(assert( ~isempty ( chol(A, ...)))) NOT implies ( A is positive defined )
2. but
([~, p] = chol(A, ...) with p > 0) implies ( A is not positive defined )
(assert( ~isempty ( chol(A, ...)))) NOT implies ( A is positive defined )
2. but
([~, p] = chol(A, ...) with p > 0) implies ( A is not positive defined )
Customer support service by UserEcho
absolutely, yes!