All Projects → psi4 → Psi4numpy

psi4 / Psi4numpy

Licence: other
Combining Psi4 and Numpy for education and development.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Psi4numpy

Dsp Theory
Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.
Stars: ✭ 437 (+157.06%)
Mutual labels:  jupyter-notebook, tutorial, numpy, scipy
Ncar Python Tutorial
Numerical & Scientific Computing with Python Tutorial
Stars: ✭ 50 (-70.59%)
Mutual labels:  jupyter-notebook, tutorial, numpy, scipy
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (+124.12%)
Mutual labels:  jupyter-notebook, numpy, scipy
Thesemicolon
This repository contains Ipython notebooks and datasets for the data analytics youtube tutorials on The Semicolon.
Stars: ✭ 345 (+102.94%)
Mutual labels:  jupyter-notebook, tutorial, numpy
Scipy con 2019
Tutorial Sessions for SciPy Con 2019
Stars: ✭ 142 (-16.47%)
Mutual labels:  jupyter-notebook, tutorial, scipy
Neural Network From Scratch
Ever wondered how to code your Neural Network using NumPy, with no frameworks involved?
Stars: ✭ 230 (+35.29%)
Mutual labels:  jupyter-notebook, tutorial, numpy
Workshopscipy
A workshop for scientific computing in Python. ( December 2017 )
Stars: ✭ 391 (+130%)
Mutual labels:  jupyter-notebook, numpy, scipy
Gasyori100knock
image processing codes to understand algorithm
Stars: ✭ 1,988 (+1069.41%)
Mutual labels:  jupyter-notebook, tutorial, numpy
Credit Risk Modelling
Credit Risk analysis by using Python and ML
Stars: ✭ 91 (-46.47%)
Mutual labels:  jupyter-notebook, numpy, scipy
Notes Python
中文 Python 笔记
Stars: ✭ 6,127 (+3504.12%)
Mutual labels:  jupyter-notebook, numpy, scipy
Learning python
Source material for Python Like You Mean it
Stars: ✭ 78 (-54.12%)
Mutual labels:  jupyter-notebook, tutorial, numpy
Data Analysis
主要是爬虫与数据分析项目总结,外加建模与机器学习,模型的评估。
Stars: ✭ 142 (-16.47%)
Mutual labels:  jupyter-notebook, numpy, scipy
Opendatawrangling
공공데이터 분석
Stars: ✭ 148 (-12.94%)
Mutual labels:  jupyter-notebook, numpy
Anomaly detection tuto
Anomaly detection tutorial on univariate time series with an auto-encoder
Stars: ✭ 144 (-15.29%)
Mutual labels:  jupyter-notebook, tutorial
Stock Price Predictor
This project seeks to utilize Deep Learning models, Long-Short Term Memory (LSTM) Neural Network algorithm, to predict stock prices.
Stars: ✭ 146 (-14.12%)
Mutual labels:  jupyter-notebook, numpy
Machine Learning With Python
Practice and tutorial-style notebooks covering wide variety of machine learning techniques
Stars: ✭ 2,197 (+1192.35%)
Mutual labels:  jupyter-notebook, numpy
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+7067.06%)
Mutual labels:  jupyter-notebook, tutorial
Autonomousdrivingcookbook
Scenarios, tutorials and demos for Autonomous Driving
Stars: ✭ 1,939 (+1040.59%)
Mutual labels:  jupyter-notebook, tutorial
Alphalens
Performance analysis of predictive (alpha) stock factors
Stars: ✭ 2,130 (+1152.94%)
Mutual labels:  jupyter-notebook, numpy
Rnn lstm from scratch
How to build RNNs and LSTMs from scratch with NumPy.
Stars: ✭ 156 (-8.24%)
Mutual labels:  jupyter-notebook, numpy


Psi4NumPy banner logo



Overview

What I cannot create, I do not understand. - Richard Feynman

The overall goal of the Psi4NumPy project is to provide an interactive quantum chemistry framework for reference implementations, rapid prototyping, development, and education. To do this, quantities relevant to quantum chemistry are computed with the Psi4 electronic structure package, and subsequently manipulated using the Numerical Python (NumPy) package. This combination provides an interface that is both simple to use and remains relatively fast to execute.

A series of short scripts demonstrating the implementation of Hartree-Fock Self-Consistent Field, SCF Response, Møller-Plesset Perturbation Theory, Symmetry-Adapted Perturbation Theory, Coupled Cluster Theory, and more are provided for the reference of the quantum chemistry community at large to facilitate both reproducibility and low-level methodological understanding. Additionally, the Tutorials folder above represents an interactive educational environment containing modules discussing the theory and implementation of various quantum and computational chemistry methods. By leveraging the popular Jupyter Notebook application, each tutorial is constructed as hybrid theory and programming in an easy to use interactive environment, removing the gap between theory and implementation.

If you have comments, questions, or would like to contribute to the project please see our contributor guidelines.

Getting Started

  1. Obtain required software
    1. Psi4NumPy (clone this repository; no install available)
    2. Psi4
      • Option 1 (easiest): Download installer and install according to instructions.
        # Have Psi4conda installer (http://psicode.org/downloads.html)
        >>> bash psi4conda-{various}.sh
        # Check `psi4` command in path; adjust path if needed
        # **IF** using DFT tutorials (or a few newer specialized integrals), after above, create a separate environment within for newer psi4:
        >>> conda create -n p4env psi4 -c psi4/label/dev
        >>> source activate p4env
        
      • Option 2 (easy): Download Conda package according to instructions
        # Have Anaconda or Miniconda (https://conda.io/miniconda.html)
        >>> conda create -n p4env psi4 -c psi4
        >>> bash
        >>> source activate p4env
        
      • Option 3 (medium): Clone source and compile according to instructions
        # Get Psi4 source
        >>> git clone https://github.com/psi4/psi4.git
        >>> git checkout v1.1
        >>> cmake -H. -Bobjdir -Doption=value ...
        >>> cd objdir && make -j`getconf _NPROCESSORS_ONLN`
        # Find `psi4` command at objdir/stage/<TAB>/<TAB>/.../bin/psi4; adjust path if needed
        
    3. Python 3.6+ (incl. w/ Psi4 Options 1 & 2)
    4. NumPy 1.7.2+ (incl. w/ Psi4 Options 1 & 2)
    5. Scipy 0.13.0+
  2. Enable Psi4 & PsiAPI (if Psi4 was built from source)
    1. Find appropriate paths
      >>> psi4 --psiapi-path
      export PATH=/path/to/dir/of/python/interpreter/against/which/psi4/compiled:$PATH
      export PYTHONPATH=/path/to/dir/of/psi4/core-dot-so:$PYTHONPATH
      
    2. Export relevant paths
      >>> bash
      >>> export PATH=/path/to/dir/of/python/interpreter/against/which/psi4/compiled:$PATH
      >>> export PYTHONPATH=/path/to/dir/of/psi4/core-dot-so:$PYTHONPATH
      
  3. Run scripts as conventional Python scripts
    • Example: Run DF-MP2.py
      >>> python psi4numpy/Moller-Plesset/DF-MP2.py
      

New users can follow the Getting Started notebook or the PsiAPI documentation for an introduction to running Psi4 within the PsiAPI.

A tutorial that covers the basics of NumPy can be found here.

Repository Organization

This repository contains

  • reference implementations, which provide working Python scripts implementing various quantum chemical methods, and
  • interactive tutorials, which provide Jupyter notebooks presenting a hybrid theory-and-implementation educational framework for learning to program quantum chemistry methods.

Reference implementations are organized into top-level directories corresponding to the over-arching theory upon which each method is based, i.e., both EOM-CCSD and TD-CCSD are contained in the Coupled-Cluster directory. All interactive tutorials are contained in the top-level directory Tutorials. These tutorials are organized in logical order of progression, which is enumerated in detail here.

Psi4 v1.1 (c. May 2017)

This repostitory has recently been updated to be compatible with Psi4 version 1.1. Please see the v0.1-beta tag for a Psi4 v1.0 compliant Psi4NumPy version.

Psi4 v1.2 (c. May 2018)

This reposititory is fully compatible with the upcoming Psi4 version 1.2. In fact (for a while), if you use v1.2, there's no need to worry if your Psi4 has all the features to run all the reference implementations and tutorials.

Citation

Please consider citing this repository through the Psi4NumPy paper:

Psi4NumPy: An Interactive Quantum Chemistry Programming Environment for Reference Implementations and Rapid Development Daniel G. A. Smith, Lori A. Burns, Dominic A. Sirianni, Daniel R. Nascimento, Ashutosh Kumar, Andrew M. James, Jeffrey B. Schriber, Tianyuan Zhang, Boyi Zhang, Adam S. Abbott, Eric J. Berquist, Marvin H. Lechner, Leonardo A. Cunha, Alexander G. Heide, Jonathan M. Waldrop, Tyler Y. Takeshita, Asem Alenaizan, Daniel Neuhauser, Rollin A. King, Andrew C. Simmonett, Justin M. Turney, Henry F. Schaefer, Francesco A. Evangelista, A. Eugene DePrince III, T. Daniel Crawford, Konrad Patkowski, and C. David Sherrill Journal of Chemical Theory and Computation, 2018, 14 (7), 3504-3511 DOI: 10.1021/acs.jctc.8b00286

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].