-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
About the k-point used in the document example. #20
Comments
Let |
Thank you for your explanation. Below I give some supplementary validation and analysis.
This is guaranteed by the following theorem, as describe in the book Computer Algebra and Materials Physics
Using SpaceGroupIrep package, I checked the irreps corresponding to the two k points discussed here, i.e., (1/2, 0, 0) and (0, 1/2, 0), as shown below: But I didn't see their equivalence at first glance.
According to the data here, I verified as follows in Mathematica: |
It is actually a non-trivial task to numerically find a transformation BTW, the appropriate place to discuss your validation will be SpaceGroupIrep's issue page because these irreps are not same as those of spgrep. |
Here, does the term factor system refer to little co-group?
I've initiated a similar discussion here, and the JordanDecomposition based solution suggested by Gianluca Gorni seems like a good way to go. In any case, the qualified
The author of SpaceGroupIrep is a friend of mine, and we discussed this in private. |
I mean
The Jordan decomposition is notoriously known to vulnerable to numerical noise. So I'm not sure whether it works. |
Another approach is based on eigenvalue and Gaussian elimination, as represented by Hans Dolhaine in the above wolfram forum discussion: (*Your matrices *)
A = {{-I, 0, 0, 0}, {0, I, 0, 0}, {0, 0, 0, -I}, {0, 0, -I, 0}};
B = {{0, 1, 0, 0}, {-1, 0, 0, 0}, {0, 0, 0, I}, {0, 0, I, 0}};
(* Are they conjugates , do they have the same Eigenvalues (Thanks to Daniel) ?*)
Eigenvalues[A]
Eigenvalues[B]
(* The potential Matrix for the transformation *)
mm = Table[m[i, k], {i, 1, 4}, {k, 1, 4}];
mm // MatrixForm
(* Make an equation for your problem *)
e1 = # == 0 & /@ Flatten[A.mm - mm.B]
(* and transform it to an algebraic problem *)
e2 = CoefficientArrays[e1, Flatten[mm]]
(* get the according matrix *)
e3 = Normal[e2][[2]];
e3 // MatrixForm
(*check whether a solution is possible ( that means det = 0 ) *)
Det[e3]
(* There are 16 - rank of matrix = 8 solutions of the problem *)
MatrixRank[e3]
(*Find the solutions to the enhanced problem *)
vecs = NullSpace[e3]
(* Transform the solution vectors back to matrices *)
mats = Partition[#, 4] & /@ vecs
(* each fulfills the original problem, as it must be *)
Simplify[A.# - #.B] & /@ mats
(* but none is invertible *)
Det[#] & /@ mats
(* so sum them up *)
mat = Total[mats]
Det[mat]
(* and *)
A.mat - mat.B |
Projective representation is the method used in this package to obtain the small representation on the fly, i.e., the projective irreps of little co-group. The BC book only gives the representation data of the defined k-point (table 3.6), which in principle can be consulted directly from the table in the book. However, the representations of other k-points in the same star are not given in the BC book, which, if required, need additional calculations, but SpaceGroupIrep gives all of these representations directly. In the example discussed here, the standard definition of k point X is {0,1/2,0}, so BC book gives only a small representation corresponding to this k point, instead of the one at {1/2,0,0}. On the other hand, when you need to calculate the irreducible representation of a space group (that is, the induced representation of a small representation), the small representation of any k-point in a star is needed. Of course, if you only use small representations and don't need their induced representations, it's usually not too much of a problem to assume that {1/2,0,0} is the same as the small representations of {0,1/2,0}. However, there is no guarantee that there will be no problem at any time, for example, in the MOS2 single-layer system, the representation of the top of the valence band must have the time reversal symmetry in order to meet the requirements of system symmetry. |
Here gives the following example:
In this example, the space group is P4_2/mnm (No. 136), and the selected k point is [0.5, 0, 0] (X point). I checked this information from BCS KVEC's convention represented here, as shown below:
As you can see, the two coordinates given above are not consistent. Any hints for this problem?
Regards,
Zhao
The text was updated successfully, but these errors were encountered: