symmetry-operations-symbols-0.0.1.2

Copyright(c) Jun Narumi 2018
LicenseBSD-3
Maintainernarumij@gmail.com
Stabilityexperimental
Portability?
Safe HaskellNone
LanguageHaskell2010

Data.Matrix.SymmetryOperationsSymbols

Contents

Description

Haskell Derivation of symbols and coordinate triplets Library

References
  1. W. Fischer. and E. Koch. (2006), Derivation of symbols and coordinate triplets International Tables for Crystallography (2006). Vol. A, Chapter 11.2, pp. 812–816.
  2. Wondratschek, H. & Neubu ̈ser, J. (1967). Determination of the symmetry elements of a space group from the ‘general positions’ listed in International Tables for X-ray Crystallography, Vol. I. Acta Cryst. 23, 349–352.
Synopsis

Documentation

fromMatrix Source #

Arguments

:: Integral a 
=> Matrix (Ratio a)

3x4 or 4x4 Matrix

-> Either String String 

Derivation of geometric representation of symmetry operations from given matrix of symmetry operations

jpn) 与えられた対称操作の行列から、対称操作の幾何的表現を導出

>>> fromMatrix . fromXYZ $ "x,y,z"
Right " 1 "
>>> fromMatrix . fromXYZ $ "-y,x,-z"
Right "-4- 0,0,z; 0,0,0"

fromMatrix' :: (Monad m, MonadFail m, Integral a) => Matrix (Ratio a) -> m String Source #

Derivation of geometric representation of symmetry operations from given matrix of symmetry operations

jpn) 与えられた対称操作の行列から、対称操作の幾何的表現を導出

toMatrix Source #

Arguments

:: Integral a 
=> String

like " -1 0,0,0"

-> Either ParseError (Matrix (Ratio a))

3x4 Matrix

toMatrixHex Source #

Arguments

:: Integral a 
=> String

like " -1 0,0,0"

-> Either ParseError (Matrix (Ratio a))

3x4 Matrix

Derivation of matrix representation from a string of geometric representations of symmetric operations for hexagonal.

jpn) 対称操作の幾何的表現の文字列から行列表現の導出(六方晶用)

>>> prettyXYZ <$> toMatrixHex "-3+ 0,0,z; 0,0,0"
Right "y,y-x,-z"

notHexagonal :: Integral a => Parser (Matrix (Ratio a)) Source #

referred to a cubic, tetragonal, orthorhombic, monoclinic, triclinic or rhombohedral

hexagonal :: Integral a => Parser (Matrix (Ratio a)) Source #

referred to a hexagonal

Orphan instances

MonadFail (Either String) Source # 
Instance details

Methods

fail :: String -> Either String a #