![[CIF logo]](https://www.iucr.org/__data/assets/image/0003/125499/CIF_v2.5.jpg)
Core dictionary version 3.0.14
_function.SeitzFromJones
Name:_function.SeitzFromJones
Definition:
The function s = SeitzFromJones( j ) returns a 4x4 Seitz matrix from the Jones faithful representation of the equivalent position which is a character string e.g. 1/2+x,-x,z.
Type: Real
Values appear in Matrix context.
Dimension: [4,4]
Evaluation method:
Function SeitzFromJones( j :[Single, Text]) { # Jones symmetry notation joneschrs = "123456xyz/,+- " s = Matrix([[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]) axis = 0 sign = 1 inum = 0 do i=0,Len(j)-1 { c = j[i] If (c not in joneschrs) dummy = print('illegal char in symmetry xyz') If (c == ' ') Next If (c == ',') { axis += 1 inum = 0 sign = 1 } Else If (c == '+') sign = +1 Else If (c == '-') sign = -1 Else If (c == 'x') s[axis,0] = sign Else If (c == 'y') s[axis,1] = sign Else If (c == 'z') s[axis,2] = sign Else { If (inum == 0) m = AtoI(c) If (inum == 1 and c != '/') dummy = print('illegal num in symmetry xyz') If (inum == 2) { n = AtoI(c) If(n == 5) dummy = print('illegal translation in symmetry xyz') s[axis,3] = Mod(10.+ Float(sign*m)/Float(n), 1.) sign = 1 } inum += 1 } } SeitzFromJones = s }
Category:
function