Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes 2 issues with the Cholesky update/downdate tests #17199

Merged
merged 1 commit into from
Jul 1, 2016

Conversation

simonbyrne
Copy link
Contributor

  1. It was possible to get random matrices which would not be positive definite when down-dated (e.g. if I ran the block with srand(1). I have no idea how this didn't become an issue more often.
  2. Apparently v*v' isn't Hermitian when using the system BLAS on Power.

cc: @andreasnoack @vtjnash

1. It was possible to get random matrices which would not be positive definite when down-dated (e.g. if I ran the block with `srand(1)`. I have no idea how this didn't become an issue more often.

2. Apparently `v*v'` isn't Hermitian when using the system BLAS on Power.
@simonbyrne simonbyrne added test This change adds or pertains to unit tests linear algebra Linear algebra system:powerpc PowerPC labels Jun 29, 2016
F = cholfact(AcA, uplo)
@test LinAlg.lowrankupdate(F, v)[uplo] ≈ cholfact(AcA + v*v')[uplo]
Copy link
Member

@andreasnoack andreasnoack Jun 29, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe cholfact(Hermitian(AcA + v*v')) instead of cholfact(BcB).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

julia> cholfact(Hermitian(AcA + v*v'))
ERROR: ArgumentError: Cannot construct Hermitian from matrix with nonreal diagonals

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arrrr... I'd forgotten that we still do that. That check should go away.

@andreasnoack andreasnoack merged commit 8ecd657 into master Jul 1, 2016
@andreasnoack andreasnoack deleted the sb/cholesky-downdate branch July 1, 2016 04:21
@yuyichao
Copy link
Contributor

yuyichao commented Jul 1, 2016

Ah, thanks, this is an issue on AArch64 (with OpenBLAS) too.

@andreasnoack
Copy link
Member

FMAs seem to be the issue here. It makes complex multiplication non-commutative.

@StefanKarpinski
Copy link
Member

FMAs seem to be the issue here. It makes complex multiplication non-commutative.

Yikes. That's not good at all. Is there an issue for this?

@yuyichao
Copy link
Contributor

OpenMathLib/OpenBLAS#729

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linear algebra Linear algebra system:powerpc PowerPC test This change adds or pertains to unit tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants