Abstract
In many-particle problems involving interacting fermions or bosons, the most natural language for expressing the Hamiltonian, the observables, and the basis states is the language of the second-quantization operators. It thus appears advantageous to write numerical computer codes which allow the user to define the problem and the quantities of interest directly in terms of operator strings, rather than in some low-level programming language. Here I describe a Mathematica package which provides a flexible framework for performing the required translations between several different representations of operator expressions: condensed notation using pure ASCII character strings, traditional notation (“pretty printing”), internal Mathematica representation using nested lists (used for automatic symbolic manipulations), and various higher-level (“macro”) expressions. The package consists of a collection of transformation rules that define the algebra of operators and a comprehensive library of utility functions. While the emphasis is given on the problems from solid-state and atomic physics, the package can be easily adapted to any given problem involving non-commuting operators. It can be used for educational and demonstration purposes, but also for direct calculations of problems of moderate size. Program summaryProgram title: SNEGCatalogue identifier: AEJL_vl_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEJL_vl_0.htmlProgram obtainable from: CPC Program Library, Queenʼs University, Belfast, N. IrelandLicensing provisions: GNU General Public LicenseNo. of lines in distributed program, including test data, etc.: 319 808No. of bytes in distributed program, including test data, etc.: 1 081 247Distribution format: tar.gzProgramming language: MathematicaComputer: Any computer which runs MathematicaOperating system: Any OS which runs MathematicaRAM: Problem dependentClassification: 2.9, 5, 6.2Nature of problem: Manipulation of expressions involving second-quantization operators and other non-commuting objects. Calculation of commutators, anticommutators, expectation values. Generation of matrix representations of the Hamiltonians expressed in the second-quantization language.Solution method: Automatic reordering of operator strings in some well specified canonical order; (anti)commutation rules are used where needed. States may be represented in occupation-number representation. Dirac bra–ket notation may be intermixed with non-commuting operator expressions.Restrictions: For very long operator strings, the brute-force automatic reordering becomes slow, but it can be turned off. In such cases, the expectation values may still be evaluated using Wickʼs theorem.Unusual features: SNEG provides the natural notation of second-quantization operators (dagger for creation operators, etc.) when used interactively using the Mathematica notebook interface.Running time: Problem dependent
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.