-
Notifications
You must be signed in to change notification settings - Fork 11
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
Zero-coefficients in Laplace-Beltrami matrix #29
Comments
Hi Alina, yes the matrix M (cotangent coefficients, not areas/mass matrix) are shared between all exercises. On a relatively uniform mesh the graph Laplacian will work. Please see @nlguillemot if you still have trouble, I'll be away next week. |
If you are using something like L=Laplacian::laplace_beltrami(mesh), you'll
get a matrix with the value completely different from what you see in the
function (no clue about this weird thing). That could cause the all-0
problem (but not sure if it's the same problem you met). My solution is
using a temporary variable to get the matrix and then L equal to that
variable.
…On Wed, Nov 30, 2016 at 7:56 PM, Alina Chin ***@***.***> wrote:
I can't get the bi-Laplacian to work in part 1 with the Laplace-Beltrami
matrix. (Queried whether the solver successfully factorized the matrix
using solver.info(); also printed out some coefficients which were all
0.) Is this because the test meshes are both planar?
Should I test part 1 on a different mesh, or is it okay to just use the
graph Laplacian for part 1?
And I haven't started coding part 2, but it seems I might run into the
same problem with the bi-Laplacian when smoothing the mesh?
(I don't think it has to do with L being non-symmetric (*L = DM*) and my
*D*^-1 matrix looks fine.)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#29>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AI3gFH2fd_dAKoZBNgEhi_a0sFq060Fcks5rDkWHgaJpZM4LA-lW>
.
|
@xuzheng0927 I am assigning to L directly, but I don't think I'm having that problem. I'm getting a trace of -2.91481e+07 ( edit to clarify: The Laplace-Beltrami I get for the quad is all zeroes, but not for the woody mesh. Regardless, I still can't factorize either matrix with |
I haven't computed the trace of L, so no idea what it would be. But another
thing I noticed is that I met some extremely big cotangent values and that
can cause a very big trace as well. You may check that.
…On Thu, Dec 1, 2016 at 4:21 AM, Alina Chin ***@***.***> wrote:
@xuzheng0927 <https://github.com/xuzheng0927> I am assigning to L
directly, but I don't think I'm having that problem. I'm getting a trace of
-2.91481e+07 (L.diagonal().sum()) for the woody mesh, so it's not all
zeroes. Is that the same in yours?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AI3gFCQfmAN9eed6I4YdypSp-GW0VRonks5rDruzgaJpZM4LA-lW>
.
|
@nlguillemot I got the Laplacian-Beltrami working for both meshes! The key issue was two of the vectors, Changes I made: line 42:
line 75:
line 92:
|
@alinachin That's awesome! Thank you for sharing. @xuzheng0927 , do these changes help with the problems you encountered? |
@nlguillemot <https://github.com/nlguillemot> I haven't tried that. I've
changed the code base quite a bit so it needs some time to check. I'll
update when I get my new result.
…On Thu, Dec 1, 2016 at 6:12 PM, Nicolas Guillemot ***@***.***> wrote:
@alinachin <https://github.com/alinachin> That's awesome! Thank you for
sharing. @xuzheng0927 <https://github.com/xuzheng0927> , do these changes
help with the problems you encountered?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AI3gFN8X1DQJGkdD20QzhFeNO0BzYbfRks5rD36dgaJpZM4LA-lW>
.
|
You could always make a Laplacian2 class to try it with, if you don't want to futz around with git checkouts and branches.
|
@alinachin <https://github.com/alinachin> Got that, thanks.
…On Thu, Dec 1, 2016 at 9:21 PM, Alina Chin ***@***.***> wrote:
You could always make a Laplacian2 class to try it with, if you don't want
to futz around with git checkouts and branches.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AI3gFLcnPmqupCuiyTTHFldN9upaUZ1qks5rD6rEgaJpZM4LA-lW>
.
|
Still getting bad result on woody.obj. I have no clue. I used L_uu of the permuted (L_no_area * area * L_no_area) in Cholesky solver, and the RHS is area_uu.inv() * L_uk * v_k. Maybe my algebra is not correct. I'll give a couple of tries later... |
Um... does your |
Yes.. my L_uk comes from the permuted L_no_area * area * L_no_area. If the
algebra is ok, that might be some problems within my implementation.
…On Thu, Dec 1, 2016 at 11:49 PM, Alina Chin ***@***.***> wrote:
Um... does your L_uk also come from the permuted (L_no_area * area *
L_no_area)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AI3gFKoeJJSUBMMkR8z9aeYey5mVYRWgks5rD814gaJpZM4LA-lW>
.
|
You should double-check your algebra for the RHS. One issue is that L_uk already contains the left-multiplied Area.inv(); there's no need to do it again.
|
@alinachin You are right, there shouldn't be Area.inv() multiplied to L_uk again. It's weird that I have to use one of my former versions of Laplacian.h to get it worked (I was getting weird results using yours). Anyway thanks a lot. |
I can't get the bi-Laplacian to work in part 1 with the Laplace-Beltrami matrix. (Queried whether the solver successfully factorized the matrix using
solver.info()
; also printed out some coefficients which were all 0.) Is this because the test meshes are both planar?Should I test part 1 on a different mesh, or is it okay to just use the graph Laplacian for part 1?
And I haven't started coding part 2, but it seems I might run into the same problem with the bi-Laplacian when smoothing the mesh?
(I don't think it has to do with L being non-symmetric (L = DM) and my D^-1 matrix looks fine.)
The text was updated successfully, but these errors were encountered: