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

Try out block Jacobi iteration #15

Open
sampotter opened this issue Mar 7, 2021 · 0 comments
Open

Try out block Jacobi iteration #15

sampotter opened this issue Mar 7, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@sampotter
Copy link
Owner

sampotter commented Mar 7, 2021

I'm pretty sure a good solver for the radiosity system will be a "block Jacobi iteration". Going to try to sketch out what this in the issue before trying to implement it.

For a system Ax = b, the Jacobi iteration separates A = D + L + U, D = diag(A), splitting A into D and L + U terms, then relaxing. This works very reliably for this system (seems to converge to machine precision in at most 8 iterations). It's also pretty simple since D = rho*I for the radiosity system.

A "block Jacobi iteration" would separate A = D + L + U where now D = diag(D1, ..., Dn), where the Dis are diagonal blocks at a certain depth. The idea here would be to relax as before, i.e. x <- D\(b - (L + U)x), except now D\ can be done by recursively applying the block Jacobi iteration, since each Di is a smaller radiosity system. At a fine enough level we can just use a sparse direct solver and avoid iterating. This leads to something reminiscent of a multigrid V-cycle (maybe there's another name for this in this context...). It seems likely that we would only need one or two of these "V-cycles" to converge fully.

@sampotter sampotter added the enhancement New feature or request label Mar 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant