Comments (4)
Initial implementation of FanPT in PyCI #70
This initial implementation is based on the original FanPT code written by Ramon's Group to the pilot code Fanpy. Here is a brief description of the code:
pyci/fanci/fanpt_wrapper.py
Contains the FanPT solver (solve_fanpt) function and additional functions.
pyci/fanpt/base_fanpt_container.py
Defines general FanPT class (FANPTContainer). It is used by derived classes FANPTContainerEParam and FANPTContainerEFree.
pyci/fanpt/fanpt_cont_e_param.py
Define a FANPTContainerEParam class, which contains the data and methods required for a FanPT calculation using energy as a parameter.
pyci/fanpt/fanpt_cont_e_free.py
Define a FANPTContainerEFree class containing the data and methods required for an energy-free FanPT calculation. It is derived from FANPTContainerEParam.
pyci/fanpt/fanpt_constant_terms.py
Define the FANPTConstantTerms class, which contains the constant terms of the FanPY system of equations and methods.
pyci/fanpt/fanpt_updater.py
Contains the FANPTUpdater class, which is used by the FanPT solver to update FanCI parameters and energy.
pyci/test/test_fanpt.py
Includes two tests for FanPT solver, using Energy Free and Energy as Parameter flavors.
There's room for improvement in code design and file organization, especially in matching the PyCI interface for seamless integration.
Let me know if you have suggestions, and I will work on them.
from pyci.
@msricher and @marco-2023 can you look at this and see what the next step should be? I have a feeling some of the data classes may be better off as named tuples.
from pyci.
I've looked at it and I think this is fine the way it is. The next step might be making sure that pCCD+S can now be reliably solved, so that I can do a better test of the stochastic optimization?
from pyci.
Ok, sounds good. Thanks for looking at it @msricher .
I agree with your next step.
@carlosevmoura , we'll do a formal code review on it (I haven't seen the pull request but I'm way behind). That will usually lead to some changes. But then we will have a functional version. I anticipate a refactor at some point of a lot of FanCI stuff, but I am too overwhelmed to think about that for now.
from pyci.
Related Issues (20)
- handling seniorities in low dimensional systems HOT 2
- Testing the odometer algorithm HOT 3
- change add_gkci algorithm to match the new api HOT 1
- FanCI tutorial HOT 3
- pCCDS Overlap Derivatives HOT 1
- Conditions HOT 3
- Inequality constraints
- Algorithms
- Closest N-representable Density Matrix (Semidefinite and Equality Constraints) HOT 1
- finding the closest semidefinite HOT 1
- P,T2' HOT 6
- Q,T2
- G,T1 HOT 1
- von Neumann cyclic permutation
- Halpern
- cyclic Dykstra
- HIgher-Order Reduced Density Matrices HOT 2
- Stabilize code and release new version in accordance with paper release and the end of the course
- Automatic Determination of Number of Orbital Nodes (for GKCI) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyci.