-
Notifications
You must be signed in to change notification settings - Fork 65
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
Eigen op 391 #463
Eigen op 391 #463
Conversation
a6191f9
to
b17c523
Compare
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.
Thank you @KostasBitsakos for your efforts on the initial version.
I've cleaned it up a little, fixed the dependency installation and rebased on the current state of the main branch (rebasing needs force pushing so you will get conflicts that you can circumvent by either hard resetting your local branch to the state on github or moving your local copy out of the way and then checking out the branch again).
Besides addressing the inline comments from the code, please add the following:
- There's a isSymmetric() function somewhere in the code base (in runtime/local/kernels iirc) that you can use to check for symmetric inputs and gracefully fail with an informative message if your EigenCal kernel is used in another way.
- Add the necessary bits and pieces to use the kernel from DaphneDSL. Ideally with another test case.
Regards, Mark
4a2fbcd
to
52cc750
Compare
52cc750
to
69315c7
Compare
69315c7
to
b0da452
Compare
Hi @KostasBitsakos! |
There was a minor error on main. I used merging instead of rebasing to pull this here. This should avoid conflicts and can be fixed with the final merge to main anyway. And please don't worry about the failing checks (I cancelled the last one running because it would fail anyway). They fail because the Eigen library is not in the Docker image that is used for the test compile yet. |
Hi Mark,
I did a hard reset on my local branch, to your last commit.
As you mentioned the tests are now failing.
That's an issue cause I cannot work without testing my results.
Also I need to change some things on my testing code.
Shall I work on the b0da452 commit maybe and then we can merge them
together?
Regards,
Constantinos
Στις Παρ 17 Φεβ 2023 στις 11:53 π.μ., ο/η Mark ***@***.***>
έγραψε:
… There was a minor error on main. I used merging instead of rebasing to
pull this here. This should avoid conflicts and can be fixed with the final
merge to main anyway.
And please don't worry about the failing checks (I cancelled the last one
running because it would fail anyway). They fail because the Eigen library
is not in the Docker image that is used for the test compile yet.
—
Reply to this email directly, view it on GitHub
<#463 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AI3VWQPF7YCMIQU57POLIDDWX5DCXANCNFSM6AAAAAASUCK2IQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I meant the GitHub Action test is failing and that can be ignored (what you see if you click on "Checks" in this pull request). Your own tests should work fine. Please share more details and error messages of your failing tests. |
Any updates on the compilation issues? If it's still blocking you from fixing the remaining issues (see comments from my code review above) you could use the daphneeu/github-action docker container where all the dependencies (including Eigen) are already installed. There you'd run the build script with |
This commit adds the implementation of the eigen() builtin function using the [Eigen library](https://eigen.tuxfamily.org/) Closes daphne-eu#391, Closes daphne-eu#463
LGTM - thx for your efforts @KostasBitsakos. I've merged this with minor cleanup. Please add documentation and a script level test case in another commit. |
The EigenOp complete.
Returns two matrixes as results, one for the Eigen Values and one for the Eigen Vectors.
The res1 matrix for eigenvalues and the res2 matrix for eigenvectors
Column k of the returned matrix res2 is an eigenvector corresponding to eigenvalue number k as returned by eigenvalues().
The eigenvectors are normalized to have (Euclidean) norm equal to one.
Also includes the download and build commands for the cpp Eigen library, using the cmake tool.