-
Notifications
You must be signed in to change notification settings - Fork 3
1-update syntax julia1.6.2 #2
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
base: master
Are you sure you want to change the base?
1-update syntax julia1.6.2 #2
Conversation
Thanks for this. This thing is indeed in desperate need of an update... So I installed the latest pfapack via conda and built PyCall using that environment. However, upon running the tests, I get the following error involving pfapack:
|
Never mind. It looks like your recent PR in pfapack is not in the release version there yet. It's been merged to master but looks like there are still outstanding issues? I'm a bit confused though about when/how the issues with pfapack cropped up. Is it something specific to the PyPI/GitHub version that is not present in Wimmer's original code (https://michaelwimmer.org/downloads.html) that I was using originally? |
Good morning,
The pull request should have been merged as you say I don't really
understand. That kind of error is exactly the one that I fixed. Let me
check on PFAPACK github rep I will get back to you! Thanks a lot!
Giuseppe
…On Wed, 15 Sep 2021, 03:24 Ryan Mishmash, ***@***.***> wrote:
Never mind. It looks like your recent PR
<basnijholt/pfapack#4> in pfapack is not in the
release version there yet. It's been merged to master but looks like there
are still outstanding issues? I'm a bit confused though about when/how the
issues with pfapack cropped up. Is it something specific to the PyPI/GitHub
version that is not present in Wimmer's original code (
https://michaelwimmer.org/downloads.html) that I was using originally?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AH4RLYAOJXBSZYN6E4WRXVDUB7YUDANCNFSM5C7H5KWQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Yeah, it looks like your PR was merged, but there are still some failing tests (see comments in basnijholt/pfapack#4), so the changes haven't made it to the released PyPI version yet (the latest of which is from March 12, 2020); thus, things will still fail with a conda installed pfapack. @basnijholt, any updates on that? |
@mishmash, right. The tests that @gdelvecchiodelvecchio added seem to fail. I have currently have no time to look at it. It would be great if @gdelvecchiodelvecchio could reply to my comments here basnijholt/pfapack#4 (comment). When these issues are resolved I can release a new version. |
@mishmash and @gdelvecchiodelvecchio, I have released v0.3.1: https://github.com/basnijholt/pfapack/releases/tag/v0.3.1 |
|
||
T, Q = skew_tridiagonalize(A) | ||
T_w, Q_w = pfaffian[:skew_tridiagonalize](A) | ||
T_w, Q_w = pf.skew_tridiagonalize(A) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This currently throws
File "/Users/mishmash/opt/anaconda3/envs/pfaffiantests37/lib/python3.7/site-packages/pfapack/pfaffian.py", line 93, in skew_tridiagonalize
assert abs((A + A.T).max()) < 1e-14
since A'
is conjugate transpose. Should probably use transpose
throughout to make the antisymmetric matrices.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And also in the corresponding antisymmetric-checking asserts in the Julia code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mishmash do you mean in the corresponding Julia code right? If so yes, you should use transpose(A) and not the ' as it does the conjugation too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, in the Julia code we need to be careful about transpose vs. conjugate transpose throughout.
@@ -48,7 +50,7 @@ end | |||
|
|||
function skew_tridiagonalize(A::Matrix{T}; overwrite_A=false, calc_Q=true) where {T <: Number} | |||
@assert size(A)[1] == size(A)[2] > 0 | |||
@assert maximum(abs, A + A.') < 1e-12 | |||
@assert maximum(abs, A + A') < 1e-12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to transpose.
@assert size(A)[1] == size(A)[2] > 0 | ||
@assert maximum(abs, A + A.') < skewsymtol | ||
@assert maximum(abs, A + A') < skewsymtol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to transpose.
@assert size(A)[1] == size(A)[2] > 0 | ||
@assert maximum(abs, A + A.') < skewsymtol | ||
@assert maximum(abs, A + A') < skewsymtol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to transpose.
|
||
@show maximum(abs, v - v_w) | ||
@show abs(tau - tau_w) | ||
@show abs(alpha - alpha_w) | ||
println() | ||
|
||
A = rand(Float64, (N, N)) | ||
A = A - A.' | ||
A = A - A' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to transpose.
|
||
|
||
A = rand(-10:10, (N, N)) | ||
A = A - A' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to transpose.
A = rand(Complex128, (N, N)) | ||
A = A - A.' | ||
A = rand(ComplexF64, (N, N)) | ||
A = A - A' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to transpose.
Updated syntax for Julia >1.6.2. Tests were failing with integer valued matrices but the problem is in PFAPACK python implementation. Will open a pull request there too. Tests fail with complex valued matrices because of an assertion error in PFAPACK and I am proceeding with closer investigation