|
International
Tables for Crystallography Volume G Definition and exchange of crystallographic data Edited by J. R. Hester and B. McMahon © International Union of Crystallography 2026 |
International Tables for Crystallography (2026). Vol. G. Early view chapter
https://doi.org/10.1107/97809553602060001011 Chapter 4.2 Core dictionary (coreCIF) |
Core dictionary version 3.3.0
_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]
Units: none
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