packages feed

hall-symbols-0.1.0.4: README.md

# hall-symbols

Haskell Hall Symbols Library

## Quickstart

Make new stack project and move to project directory.

```shell
% stack new hmRepl
% cd hmRepl
```

Edit extra-deps part of stack.yaml like below.

```
extra-deps:
- matrix-as-xyz-0.1.1.1
- symmetry-operations-symbols-0.0.1.2
- hall-symbols-0.1.0.4
```

Build project.

```shell
% stack build
```

Then start repl.

```shell
% stack repl
```

Setup packages and load modules.

```haskell
repl> :set -package matrix-as-xyz
repl> :set -package symmetry-operations-symbols
repl> :set -package hall-symbols
repl> :m Data.Matrix.AsXYZ Data.Matrix.SymmetryOperationsSymbols Crystallography.HallSymbols
```

Use like below.

```haskell
-- print General Positions.
repl> prettyXYZ <$> fromHallSymbols' "C -2yc"
 ["x,y,z","x+1/2,y+1/2,z","x,-y,z+1/2","x+1/2,-y+1/2,z+1/2"]

repl> fromHallSymbols' "C -2yc" >>= fromMatrix'
[" 1 "," c  x,0,z"," t (1/2,1/2,0) "," n (1/2,0,1/2) x,1/4,z"]

```

Or use like below.

```haskell
-- print Generators
repl> prettyXYZ <$> generatorsOfHallSymbols "C -2yc"
["x,y,z","x+1/2,y+1/2,z","x,-y,z+1/2"]

repl> generatorsOfHallSymbols "C -2yc" >>= fromMatrix'
[" 1 "," t (1/2,1/2,0) "," c  x,0,z"]

```

## References

1. Concise Space-Group Symbols http://cci.lbl.gov/sginfo/hall_symbols.html , See also : https://github.com/rwgk/sginfo

2. Space-Group Notation with an Explicit Origin
   S.R. Hall; Space-Group Notation with an Explicit Origin ; Acta Cryst. (1981). A37, 517-525

3. ITVB 2001 Table A1.4.2.7 Hall symbols http://cci.lbl.gov/sginfo/itvb_2001_table_a1427_hall_symbols.html

## License

See the [LICENSE](https://raw.githubusercontent.com/narumij/hall-symbols/master/LICENSE)
file in the repository.