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

[lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang #7690

Merged
merged 14 commits into from
Apr 7, 2023

Conversation

houkensjtu
Copy link
Contributor

Issue: #7634

Brief Summary

This PR implements a matrix-free CG (Conjugate-Gradient) solver in Taichi. The solver targets to solve the linear equation system:

$$ Ax = b$$

where $A$ is implicitly represented as a LinearOperator instead of a explicitly stored matrix, hence the name "matrix-free".

@netlify
Copy link

netlify bot commented Mar 29, 2023

Deploy Preview for docsite-preview ready!

Name Link
🔨 Latest commit 74c1ede
🔍 Latest deploy log https://app.netlify.com/sites/docsite-preview/deploys/642fcb6a9ca580000832b248
😎 Deploy Preview https://deploy-preview-7690--docsite-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@houkensjtu houkensjtu force-pushed the houkensjtu-taichi-cg branch from ad0c2fd to 470f224 Compare March 29, 2023 15:34
@houkensjtu houkensjtu changed the title [lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang [WIP, don't merge] [lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang (WIP, don't merge) Apr 4, 2023
@houkensjtu houkensjtu force-pushed the houkensjtu-taichi-cg branch from ab3f0dc to 611d3b1 Compare April 4, 2023 13:32
@houkensjtu houkensjtu changed the title [lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang (WIP, don't merge) [lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang Apr 5, 2023
@houkensjtu houkensjtu requested a review from turbo0628 April 6, 2023 11:27
Copy link
Collaborator

@FantasyVR FantasyVR left a comment

Choose a reason for hiding this comment

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

Thanks

python/taichi/linalg/taichi_cg.py Outdated Show resolved Hide resolved
python/taichi/linalg/taichi_cg.py Outdated Show resolved Hide resolved
python/taichi/linalg/taichi_cg.py Outdated Show resolved Hide resolved
@houkensjtu houkensjtu requested a review from FantasyVR April 7, 2023 04:53
Copy link
Member

@turbo0628 turbo0628 left a comment

Choose a reason for hiding this comment

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

LGTM!

tests/python/test_taichi_cg.py Outdated Show resolved Hide resolved
@houkensjtu houkensjtu merged commit a7f7051 into taichi-dev:master Apr 7, 2023
@houkensjtu houkensjtu deleted the houkensjtu-taichi-cg branch April 7, 2023 10:47
ailzhang pushed a commit to ailzhang/taichi that referenced this pull request Apr 12, 2023
…-lang (taichi-dev#7690)

Issue: taichi-dev#7634 

### Brief Summary
This PR implements a matrix-free CG (Conjugate-Gradient) solver in
Taichi. The solver targets to solve the linear equation system:

$$ Ax = b$$

where $A$ is implicitly represented as a `LinearOperator` instead of a
explicitly stored matrix, hence the name "matrix-free".

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
quadpixels pushed a commit to quadpixels/taichi that referenced this pull request May 13, 2023
…-lang (taichi-dev#7690)

Issue: taichi-dev#7634 

### Brief Summary
This PR implements a matrix-free CG (Conjugate-Gradient) solver in
Taichi. The solver targets to solve the linear equation system:

$$ Ax = b$$

where $A$ is implicitly represented as a `LinearOperator` instead of a
explicitly stored matrix, hence the name "matrix-free".

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
houkensjtu added a commit that referenced this pull request Jun 19, 2023
### Brief Summary
This PR implements a matrix-free BICGSTAB (Biconjugate-Gradient
Stabilized) solver in Taichi. The solver targets to solve the linear
equation system:

$$ Ax = b$$

where $A$ is implicitly represented as a `LinearOperator` instead of a
explicitly stored matrix, hence the name "matrix-free".

BICGSTAB targets at non-symmetric matrix `A`, while `MatrixFreeCG`
targets at symmetric matrix.

Related #PR 7690 (#7690)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
L2ncE pushed a commit to L2ncE/taichi that referenced this pull request Jun 20, 2023
### Brief Summary
This PR implements a matrix-free BICGSTAB (Biconjugate-Gradient
Stabilized) solver in Taichi. The solver targets to solve the linear
equation system:

$$ Ax = b$$

where $A$ is implicitly represented as a `LinearOperator` instead of a
explicitly stored matrix, hence the name "matrix-free".

BICGSTAB targets at non-symmetric matrix `A`, while `MatrixFreeCG`
targets at symmetric matrix.

Related #PR 7690 (taichi-dev#7690)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
PGZXB pushed a commit to PGZXB/taichi that referenced this pull request Jul 13, 2023
### Brief Summary
This PR implements a matrix-free BICGSTAB (Biconjugate-Gradient
Stabilized) solver in Taichi. The solver targets to solve the linear
equation system:

$$ Ax = b$$

where $A$ is implicitly represented as a `LinearOperator` instead of a
explicitly stored matrix, hence the name "matrix-free".

BICGSTAB targets at non-symmetric matrix `A`, while `MatrixFreeCG`
targets at symmetric matrix.

Related #PR 7690 (taichi-dev#7690)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants