Metadata-Version: 2.4
Name: PySymmetry
Version: 1.0.1
Summary: Python library for symmetry, group theory, and quantum physics applications
Author-email: LDK <bluejam001@163.com>
License: MIT
Project-URL: Homepage, https://github.com/cathylinlin/PySymmetry
Project-URL: Documentation, https://github.com/cathylinlin/PySymmetry#readme
Project-URL: Repository, https://github.com/cathylinlin/PySymmetry
Project-URL: Issues, https://github.com/cathylinlin/PySymmetry/issues
Keywords: symmetry,group theory,lie algebra,physics,quantum,quantum mechanics,crystallography
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24
Requires-Dist: scipy>=1.10
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Requires-Dist: pytest-cov>=4; extra == "dev"
Provides-Extra: symbolic
Requires-Dist: sympy>=1.12; extra == "symbolic"
Provides-Extra: crystallography
Requires-Dist: spglib; extra == "crystallography"
Provides-Extra: visualization
Requires-Dist: matplotlib>=3.7; extra == "visualization"
Provides-Extra: performance
Requires-Dist: numba>=0.55; extra == "performance"
Requires-Dist: joblib>=1.2; extra == "performance"
Provides-Extra: all
Requires-Dist: PySymmetry[crystallography,dev,performance,symbolic,visualization]; extra == "all"
Dynamic: license-file

# PySymmetry - Python Symmetry

PySymmetry (Python Symmetry) is a comprehensive Python library for describing symmetries and their applications in physics.

## Features

### Quantum Physics Module (`phys.quantum`)

Complete quantum simulation framework with:

- **State Representations**: Ket, Bra, DensityMatrix, entangled states (Bell, GHZ, W)
- **Hamiltonian Operators**: Free particle, harmonic oscillator, hydrogen atom, spin systems
- **Schrodinger Solvers**: Exact diagonalization, sparse solvers, time evolution
- **Symmetry Analysis**: Parity, translation, selection rules, conserved quantities
- **Interactive API**: SceneBuilder for arbitrary quantum scenarios

### Core Modules

- **Group Theory**: Abstract groups, finite groups, continuous groups (U(1), SU(2), SO(3), etc.)
- **Lie Theory**: Lie algebras, representations, root systems
- **Linear Algebra**: Matrix operations, eigendecomposition

### Abstract Physics (`abstract_phys`)

Framework for physical symmetries:

- Symmetry operations (translation, rotation, parity, time reversal)
- Physical representations
- Conservation laws via Noether's theorem

## Installation

```bash
pip install PySymmetry
```

## Quick Start

### Quantum Simulation

```python
from PySymmetry.phys.quantum import SceneBuilder, simulate, QuantumAnalyzer

# Create a harmonic oscillator
scene = (SceneBuilder("Harmonic Oscillator")
         .add_electron(position=[0])
         .add_harmonic_potential(center=[0], k=1.0)
         .set_spatial_range(-10, 10)
         .set_grid_points(300)
         .build())

# Simulate
result = simulate(scene, num_states=5)

# Analyze
analyzer = QuantumAnalyzer(result.hamiltonian, result)
print(analyzer.generate_report())
```

### Symmetry Analysis

```python
from PySymmetry.phys.quantum import analyze, quick_report

# Full analysis
result = analyze(hamiltonian, simulation_result)

# Quick report
print(quick_report(hamiltonian, simulation_result))
```

## Examples

See `examples/` directory:

- `quantum_examples.py` - Basic quantum systems (hydrogen, square well, spin)
- `interactive_demo.py` - Arbitrary scenario simulation
- `analysis_demo.py` - Symmetry analysis demonstrations

## Project Structure

```
PySymmetry/
├── src/
│   └── PySymmetry/
│       ├── core/                    # Core mathematics
│       │   ├── algebraic_structures/
│       │   ├── group_theory/
│       │   ├── lie_theory/
│       │   ├── matrix/
|       |   └── and more... 
│       │
│       ├── abstract_phys/           # Physical abstractions
│       │   ├── physical_objects/
│       │   ├── representation/
│       │   ├── symmetry_operations/
│       │   ├── symmetry_environments/
|       |   └── and more... 
│       │
│       └── phys/                   # Physics applications
│           └── quantum/             # Quantum module
│
├── examples/
├── tests/
├── pyproject.toml
└── README.md
```

## Development Status

**Version**: 1.0.0

### Completed
- Core mathematical layer (groups, Lie algebras, representations)
- Abstract physics framework (symmetries, operations)
- Quantum physics module (states, Hamiltonians, solvers, analysis)

### In Progress
- Visualization tools
- Additional physics examples
- Performance optimization

## Requirements

- Python >= 3.10
- numpy >= 1.24
- scipy >= 1.10

### Optional
- matplotlib (visualization)
- sympy (symbolic computation)
- spglib (crystallography)

## Contributing

Contributions welcome! Please:

1. Fork the repository
2. Create a feature branch
3. Run tests with `pytest`
4. Submit a pull request

## License

MIT License - see [LICENSE](LICENSE)

## Author

LDK (Cathylinlin)
- Email: bluejam001@163.com
- GitHub: https://github.com/cathylinlin/PySymmetry

---

Explore the beautiful world of symmetries! 🎉
