forked from materialsproject/pymatgen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pymatgen.symmetry.analyzer.html
735 lines (690 loc) · 44.7 KB
/
pymatgen.symmetry.analyzer.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>pymatgen.symmetry.analyzer module — pymatgen 2019.5.1 documentation</title>
<link rel="stylesheet" href="_static/proBlue.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33990148-1']);
_gaq.push(['_trackPageview']);
</script>
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">pymatgen 2019.5.1 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-pymatgen.symmetry.analyzer">
<span id="pymatgen-symmetry-analyzer-module"></span><h1>pymatgen.symmetry.analyzer module<a class="headerlink" href="#module-pymatgen.symmetry.analyzer" title="Permalink to this headline">¶</a></h1>
<dl class="class">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer">
<em class="property">class </em><code class="descname">PointGroupAnalyzer</code><span class="sig-paren">(</span><em>mol</em>, <em>tolerance=0.3</em>, <em>eigen_tolerance=0.01</em>, <em>matrix_tol=0.1</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupAnalyzer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>A class to analyze the point group of a molecule. The general outline of
the algorithm is as follows:</p>
<ol class="arabic">
<li><p>Center the molecule around its center of mass.</p></li>
<li><p>Compute the inertia tensor and the eigenvalues and eigenvectors.</p></li>
<li><p>Handle the symmetry detection based on eigenvalues.</p>
<blockquote>
<div><ol class="loweralpha simple">
<li><p>Linear molecules have one zero eigenvalue. Possible symmetry
operations are C*v or D*v</p></li>
<li><p>Asymetric top molecules have all different eigenvalues. The
maximum rotational symmetry in such molecules is 2</p></li>
<li><p>Symmetric top molecules have 1 unique eigenvalue, which gives a
unique rotation axis. All axial point groups are possible
except the cubic groups (T & O) and I.</p></li>
<li><p>Spherical top molecules have all three eigenvalues equal. They
have the rare T, O or I point groups.</p></li>
</ol>
</div></blockquote>
</li>
</ol>
<dl class="attribute">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.sch_symbol">
<code class="descname">sch_symbol</code><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.sch_symbol" title="Permalink to this definition">¶</a></dt>
<dd><p>Schoenflies symbol of the detected point group.</p>
</dd></dl>
<p>The default settings are usually sufficient.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>mol</strong> (<a class="reference internal" href="pymatgen.core.structure.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><em>Molecule</em></a>) – Molecule to determine point group for.</p></li>
<li><p><strong>tolerance</strong> (<em>float</em>) – Distance tolerance to consider sites as
symmetrically equivalent. Defaults to 0.3 Angstrom.</p></li>
<li><p><strong>eigen_tolerance</strong> (<em>float</em>) – Tolerance to compare eigen values of
the inertia tensor. Defaults to 0.01.</p></li>
<li><p><strong>matrix_tol</strong> (<em>float</em>) – Tolerance used to generate the full set of
symmetry operations of the point group.</p></li>
</ul>
</dd>
</dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_equivalent_atoms">
<code class="descname">get_equivalent_atoms</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupAnalyzer.get_equivalent_atoms"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_equivalent_atoms" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns sets of equivalent atoms with symmetry operations</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>None</strong> – </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p>The returned dictionary has two possible keys:</p>
<p><code class="docutils literal notranslate"><span class="pre">eq_sets</span></code>:
A dictionary of indices mapping to sets of indices,
each key maps to indices of all equivalent atoms.
The keys are guaranteed to be not equivalent.</p>
<p><code class="docutils literal notranslate"><span class="pre">sym_ops</span></code>:
Twofold nested dictionary.
<code class="docutils literal notranslate"><span class="pre">operations[i][j]</span></code> gives the symmetry operation
that maps atom <code class="docutils literal notranslate"><span class="pre">i</span></code> unto <code class="docutils literal notranslate"><span class="pre">j</span></code>.</p>
</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>dict</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_pointgroup">
<code class="descname">get_pointgroup</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupAnalyzer.get_pointgroup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_pointgroup" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a PointGroup object for the molecule.</p>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_symmetry_operations">
<code class="descname">get_symmetry_operations</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupAnalyzer.get_symmetry_operations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_symmetry_operations" title="Permalink to this definition">¶</a></dt>
<dd><p>Return symmetry operations as a list of SymmOp objects.
Returns Cartesian coord symmops.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>List of symmetry operations.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>([<a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp">SymmOp</a>])</p>
</dd>
</dl>
</dd></dl>
<dl class="attribute">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.inversion_op">
<code class="descname">inversion_op</code><em class="property"> = Rot: [[-1. -0. -0.] [-0. -1. -0.] [-0. -0. -1.]] tau [0. 0. 0.]</em><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.inversion_op" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.is_valid_op">
<code class="descname">is_valid_op</code><span class="sig-paren">(</span><em>symmop</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupAnalyzer.is_valid_op"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.is_valid_op" title="Permalink to this definition">¶</a></dt>
<dd><p>Check if a particular symmetry operation is a valid symmetry operation
for a molecule, i.e., the operation maps all atoms to another
equivalent atom.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>symmop</strong> (<a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp"><em>SymmOp</em></a>) – Symmetry operation to test.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Whether SymmOp is valid for Molecule.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>(bool)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.PointGroupAnalyzer.symmetrize_molecule">
<code class="descname">symmetrize_molecule</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupAnalyzer.symmetrize_molecule"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.symmetrize_molecule" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a symmetrized molecule</p>
<p>The equivalent atoms obtained via
<a class="reference internal" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_equivalent_atoms" title="pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_equivalent_atoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_equivalent_atoms()</span></code></a>
are rotated, mirrored… unto one position.
Then the average position is calculated.
The average position is rotated, mirrored… back with the inverse
of the previous symmetry operations, which gives the
symmetrized molecule</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>None</strong> – </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p>The returned dictionary has three possible keys:</p>
<p><code class="docutils literal notranslate"><span class="pre">sym_mol</span></code>:
A symmetrized molecule instance.</p>
<p><code class="docutils literal notranslate"><span class="pre">eq_sets</span></code>:
A dictionary of indices mapping to sets of indices,
each key maps to indices of all equivalent atoms.
The keys are guaranteed to be not equivalent.</p>
<p><code class="docutils literal notranslate"><span class="pre">sym_ops</span></code>:
Twofold nested dictionary.
<code class="docutils literal notranslate"><span class="pre">operations[i][j]</span></code> gives the symmetry operation
that maps atom <code class="docutils literal notranslate"><span class="pre">i</span></code> unto <code class="docutils literal notranslate"><span class="pre">j</span></code>.</p>
</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>dict</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="pymatgen.symmetry.analyzer.PointGroupOperations">
<em class="property">class </em><code class="descname">PointGroupOperations</code><span class="sig-paren">(</span><em>sch_symbol</em>, <em>operations</em>, <em>tol=0.1</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#PointGroupOperations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupOperations" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></p>
<p>Defines a point group, which is essentially a sequence of symmetry
operations.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sch_symbol</strong> (<em>str</em>) – Schoenflies symbol of the point group.</p></li>
<li><p><strong>operations</strong> (<em>[</em><a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp"><em>SymmOp</em></a><em>]</em>) – Initial set of symmetry operations. It is
sufficient to provide only just enough operations to generate
the full set of symmetries.</p></li>
<li><p><strong>tol</strong> (<em>float</em>) – Tolerance to generate the full set of symmetry
operations.</p></li>
</ul>
</dd>
</dl>
<dl class="attribute">
<dt id="pymatgen.symmetry.analyzer.PointGroupOperations.sch_symbol">
<code class="descname">sch_symbol</code><a class="headerlink" href="#pymatgen.symmetry.analyzer.PointGroupOperations.sch_symbol" title="Permalink to this definition">¶</a></dt>
<dd><p>Schoenflies symbol of the point group.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer">
<em class="property">class </em><code class="descname">SpacegroupAnalyzer</code><span class="sig-paren">(</span><em>structure</em>, <em>symprec=0.01</em>, <em>angle_tolerance=5</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Takes a pymatgen.core.structure.Structure object and a symprec.
Uses pyspglib to perform various symmetry finding operations.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>structure</strong> (<em>Structure/IStructure</em>) – Structure to find symmetry</p></li>
<li><p><strong>symprec</strong> (<em>float</em>) – Tolerance for symmetry finding. Defaults to 0.01,
which is fairly strict and works well for properly refined
structures with atoms in the proper symmetry coordinates. For
structures with slight deviations from their proper atomic
positions (e.g., structures relaxed with electronic structure
codes), a looser tolerance of 0.1 (the value used in Materials
Project) is often needed.</p></li>
<li><p><strong>angle_tolerance</strong> (<em>float</em>) – Angle tolerance for symmetry finding.</p></li>
</ul>
</dd>
</dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.find_primitive">
<code class="descname">find_primitive</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.find_primitive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.find_primitive" title="Permalink to this definition">¶</a></dt>
<dd><p>Find a primitive version of the unit cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>A primitive cell in the input cell is searched and returned
as an Structure object. If no primitive cell is found, None is
returned.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_conventional_standard_structure">
<code class="descname">get_conventional_standard_structure</code><span class="sig-paren">(</span><em>international_monoclinic=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_conventional_standard_structure"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_conventional_standard_structure" title="Permalink to this definition">¶</a></dt>
<dd><p>Gives a structure with a conventional cell according to certain
standards. The standards are defined in Setyawan, W., & Curtarolo,
S. (2010). High-throughput electronic band structure calculations:
Challenges and tools. Computational Materials Science,
49(2), 299-312. doi:10.1016/j.commatsci.2010.05.010
They basically enforce as much as possible
norm(a1)<norm(a2)<norm(a3)</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The structure in a conventional standardized cell</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_conventional_to_primitive_transformation_matrix">
<code class="descname">get_conventional_to_primitive_transformation_matrix</code><span class="sig-paren">(</span><em>international_monoclinic=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_conventional_to_primitive_transformation_matrix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_conventional_to_primitive_transformation_matrix" title="Permalink to this definition">¶</a></dt>
<dd><p>Gives the transformation matrix to transform a conventional
unit cell to a primitive cell according to certain standards
the standards are defined in Setyawan, W., & Curtarolo, S. (2010).
High-throughput electronic band structure calculations:
Challenges and tools. Computational Materials Science,
49(2), 299-312. doi:10.1016/j.commatsci.2010.05.010</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Transformation matrix to go from conventional to primitive cell</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_crystal_system">
<code class="descname">get_crystal_system</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_crystal_system"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_crystal_system" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the crystal system for the structure, e.g., (triclinic,
orthorhombic, cubic, etc.).</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Crystal system for structure or None if system cannot be detected.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(str)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_hall">
<code class="descname">get_hall</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_hall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_hall" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns Hall symbol for structure.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Hall symbol</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(str)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_ir_reciprocal_mesh">
<code class="descname">get_ir_reciprocal_mesh</code><span class="sig-paren">(</span><em>mesh=(10</em>, <em>10</em>, <em>10)</em>, <em>is_shift=(0</em>, <em>0</em>, <em>0)</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_ir_reciprocal_mesh"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_ir_reciprocal_mesh" title="Permalink to this definition">¶</a></dt>
<dd><p>k-point mesh of the Brillouin zone generated taken into account
symmetry.The method returns the irreducible kpoints of the mesh
and their weights</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>mesh</strong> (<em>3x1 array</em>) – The number of kpoint for the mesh needed in
each direction</p></li>
<li><p><strong>is_shift</strong> (<em>3x1 array</em>) – Whether to shift the kpoint grid. (1, 1,</p></li>
<li><p><strong>means all points are shifted by 0.5</strong><strong>, </strong><strong>0.5</strong><strong>, </strong><strong>0.5.</strong> (<em>1</em><em>)</em>) – </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A list of irreducible kpoints and their weights as a list of
tuples [(ir_kpoint, weight)], with ir_kpoint given
in fractional coordinates</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_kpoint_weights">
<code class="descname">get_kpoint_weights</code><span class="sig-paren">(</span><em>kpoints</em>, <em>atol=1e-05</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_kpoint_weights"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_kpoint_weights" title="Permalink to this definition">¶</a></dt>
<dd><p>Calculate the weights for a list of kpoints.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>kpoints</strong> (<em>Sequence</em>) – Sequence of kpoints. np.arrays is fine. Note
that the code does not check that the list of kpoints
provided does not contain duplicates.</p></li>
<li><p><strong>atol</strong> (<em>float</em>) – Tolerance for fractional coordinates comparisons.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>List of weights, in the SAME order as kpoints.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_lattice_type">
<code class="descname">get_lattice_type</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_lattice_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_lattice_type" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the lattice for the structure, e.g., (triclinic,
orthorhombic, cubic, etc.).This is the same than the
crystal system with the exception of the hexagonal/rhombohedral
lattice</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Lattice type for structure or None if type cannot be detected.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(str)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_point_group_operations">
<code class="descname">get_point_group_operations</code><span class="sig-paren">(</span><em>cartesian=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_point_group_operations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_point_group_operations" title="Permalink to this definition">¶</a></dt>
<dd><p>Return symmetry operations as a list of SymmOp objects.
By default returns fractional coord symmops.
But cartesian can be returned too.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>cartesian</strong> (<em>bool</em>) – Whether to return SymmOps as cartesian or
direct coordinate operations.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>List of point group symmetry operations.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>([<a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp">SymmOp</a>])</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_point_group_symbol">
<code class="descname">get_point_group_symbol</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_point_group_symbol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_point_group_symbol" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the point group associated with the structure.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Point group for structure.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(Pointgroup)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_primitive_standard_structure">
<code class="descname">get_primitive_standard_structure</code><span class="sig-paren">(</span><em>international_monoclinic=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_primitive_standard_structure"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_primitive_standard_structure" title="Permalink to this definition">¶</a></dt>
<dd><p>Gives a structure with a primitive cell according to certain standards
the standards are defined in Setyawan, W., & Curtarolo, S. (2010).
High-throughput electronic band structure calculations:
Challenges and tools. Computational Materials Science,
49(2), 299-312. doi:10.1016/j.commatsci.2010.05.010</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The structure in a primitive standardized cell</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_refined_structure">
<code class="descname">get_refined_structure</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_refined_structure"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_refined_structure" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the refined structure based on detected symmetry. The refined
structure is a <em>conventional</em> cell setting with atoms moved to the
expected symmetry positions.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Refined structure.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_space_group_number">
<code class="descname">get_space_group_number</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_space_group_number"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_space_group_number" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the international spacegroup number (e.g., 62) for structure.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>International spacegroup number for structure.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(int)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_space_group_operations">
<code class="descname">get_space_group_operations</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_space_group_operations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_space_group_operations" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the SpacegroupOperations for the Structure.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>SpacgroupOperations object.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_space_group_symbol">
<code class="descname">get_space_group_symbol</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_space_group_symbol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_space_group_symbol" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the spacegroup symbol (e.g., Pnma) for structure.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Spacegroup symbol for structure.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(str)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetrized_structure">
<code class="descname">get_symmetrized_structure</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_symmetrized_structure"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetrized_structure" title="Permalink to this definition">¶</a></dt>
<dd><p>Get a symmetrized structure. A symmetrized structure is one where the
sites have been grouped into symmetrically equivalent groups.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><a class="reference internal" href="pymatgen.symmetry.structure.html#pymatgen.symmetry.structure.SymmetrizedStructure" title="pymatgen.symmetry.structure.SymmetrizedStructure"><code class="xref py py-class docutils literal notranslate"><span class="pre">pymatgen.symmetry.structure.SymmetrizedStructure</span></code></a> object.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetry_dataset">
<code class="descname">get_symmetry_dataset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_symmetry_dataset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetry_dataset" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the symmetry dataset as a dict.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>With the following properties:
number: International space group number
international: International symbol
hall: Hall symbol
transformation_matrix: Transformation matrix from lattice of
input cell to Bravais lattice L^bravais = L^original * Tmat
origin shift: Origin shift in the setting of “Bravais lattice”
rotations, translations: Rotation matrices and translation
vectors. Space group operations are obtained by
[(r,t) for r, t in zip(rotations, translations)]
wyckoffs: Wyckoff letters</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>(dict)</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetry_operations">
<code class="descname">get_symmetry_operations</code><span class="sig-paren">(</span><em>cartesian=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.get_symmetry_operations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetry_operations" title="Permalink to this definition">¶</a></dt>
<dd><p>Return symmetry operations as a list of SymmOp objects.
By default returns fractional coord symmops.
But cartesian can be returned too.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>List of symmetry operations.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>([<a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp">SymmOp</a>])</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupAnalyzer.is_laue">
<code class="descname">is_laue</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupAnalyzer.is_laue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupAnalyzer.is_laue" title="Permalink to this definition">¶</a></dt>
<dd><dl class="simple">
<dt>Check if the point group of the structure</dt><dd><p>has Laue symmetry (centrosymmetry)</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="pymatgen.symmetry.analyzer.SpacegroupOperations">
<em class="property">class </em><code class="descname">SpacegroupOperations</code><span class="sig-paren">(</span><em>int_symbol</em>, <em>int_number</em>, <em>symmops</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupOperations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupOperations" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></p>
<p>Represents a space group, which is a collection of symmetry operations.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>int_symbol</strong> (<em>str</em>) – International symbol of the spacegroup.</p></li>
<li><p><strong>int_number</strong> (<em>int</em>) – International number of the spacegroup.</p></li>
<li><p><strong>symmops</strong> (<em>[</em><a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp"><em>SymmOp</em></a><em>]</em>) – Symmetry operations associated with the
spacegroup.</p></li>
</ul>
</dd>
</dl>
<dl class="method">
<dt id="pymatgen.symmetry.analyzer.SpacegroupOperations.are_symmetrically_equivalent">
<code class="descname">are_symmetrically_equivalent</code><span class="sig-paren">(</span><em>sites1</em>, <em>sites2</em>, <em>symm_prec=0.001</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#SpacegroupOperations.are_symmetrically_equivalent"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.SpacegroupOperations.are_symmetrically_equivalent" title="Permalink to this definition">¶</a></dt>
<dd><p>Given two sets of PeriodicSites, test if they are actually
symmetrically equivalent under this space group. Useful, for example,
if you want to test if selecting atoms 1 and 2 out of a set of 4 atoms
are symmetrically the same as selecting atoms 3 and 4, etc.</p>
<p>One use is in PartialRemoveSpecie transformation to return only
symmetrically distinct arrangements of atoms.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sites1</strong> (<em>[</em><a class="reference internal" href="pymatgen.core.sites.html#pymatgen.core.sites.Site" title="pymatgen.core.sites.Site"><em>Site</em></a><em>]</em>) – 1st set of sites</p></li>
<li><p><strong>sites2</strong> (<em>[</em><a class="reference internal" href="pymatgen.core.sites.html#pymatgen.core.sites.Site" title="pymatgen.core.sites.Site"><em>Site</em></a><em>]</em>) – 2nd set of sites</p></li>
<li><p><strong>symm_prec</strong> (<em>float</em>) – Tolerance in atomic distance to test if atoms
are symmetrically similar.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Whether the two sets of sites are symmetrically
equivalent.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>(bool)</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="function">
<dt id="pymatgen.symmetry.analyzer.cluster_sites">
<code class="descname">cluster_sites</code><span class="sig-paren">(</span><em>mol</em>, <em>tol</em>, <em>give_only_index=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#cluster_sites"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.cluster_sites" title="Permalink to this definition">¶</a></dt>
<dd><p>Cluster sites based on distance and species type.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>mol</strong> (<a class="reference internal" href="pymatgen.core.structure.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><em>Molecule</em></a>) – Molecule <strong>with origin at center of mass</strong>.</p></li>
<li><p><strong>tol</strong> (<em>float</em>) – Tolerance to use.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>origin_site is a site at the center
of mass (None if there are no origin atoms). clustered_sites is a
dict of {(avg_dist, species_and_occu): [list of sites]}</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>(origin_site, clustered_sites)</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="pymatgen.symmetry.analyzer.generate_full_symmops">
<code class="descname">generate_full_symmops</code><span class="sig-paren">(</span><em>symmops</em>, <em>tol</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#generate_full_symmops"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.generate_full_symmops" title="Permalink to this definition">¶</a></dt>
<dd><p>Recursive algorithm to permute through all possible combinations of the
initially supplied symmetry operations to arrive at a complete set of
operations mapping a single atom to all other equivalent atoms in the
point group. This assumes that the initial number already uniquely
identifies all operations.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>symmops</strong> (<em>[</em><a class="reference internal" href="pymatgen.core.operations.html#pymatgen.core.operations.SymmOp" title="pymatgen.core.operations.SymmOp"><em>SymmOp</em></a><em>]</em>) – Initial set of symmetry operations.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Full set of symmetry operations.</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="pymatgen.symmetry.analyzer.iterative_symmetrize">
<code class="descname">iterative_symmetrize</code><span class="sig-paren">(</span><em>mol</em>, <em>max_n=10</em>, <em>tolerance=0.3</em>, <em>epsilon=0.01</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pymatgen/symmetry/analyzer.html#iterative_symmetrize"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pymatgen.symmetry.analyzer.iterative_symmetrize" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a symmetrized molecule</p>
<p>The equivalent atoms obtained via
<a class="reference internal" href="#pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_equivalent_atoms" title="pymatgen.symmetry.analyzer.PointGroupAnalyzer.get_equivalent_atoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_equivalent_atoms()</span></code></a>
are rotated, mirrored… unto one position.
Then the average position is calculated.
The average position is rotated, mirrored… back with the inverse
of the previous symmetry operations, which gives the
symmetrized molecule</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>mol</strong> (<a class="reference internal" href="pymatgen.core.structure.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><em>Molecule</em></a>) – A pymatgen Molecule instance.</p></li>
<li><p><strong>max_n</strong> (<em>int</em>) – Maximum number of iterations.</p></li>
<li><p><strong>tolerance</strong> (<em>float</em>) – Tolerance for detecting symmetry.
Gets passed as Argument into
<code class="xref py py-class docutils literal notranslate"><span class="pre">PointGroupAnalyzer</span></code>.</p></li>
<li><p><strong>epsilon</strong> (<em>float</em>) – If the elementwise absolute difference of two
subsequently symmetrized structures is smaller epsilon,
the iteration stops before <code class="docutils literal notranslate"><span class="pre">max_n</span></code> is reached.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p>The returned dictionary has three possible keys:</p>
<p><code class="docutils literal notranslate"><span class="pre">sym_mol</span></code>:
A symmetrized molecule instance.</p>
<p><code class="docutils literal notranslate"><span class="pre">eq_sets</span></code>:
A dictionary of indices mapping to sets of indices,
each key maps to indices of all equivalent atoms.
The keys are guaranteed to be not equivalent.</p>
<p><code class="docutils literal notranslate"><span class="pre">sym_ops</span></code>:
Twofold nested dictionary.
<code class="docutils literal notranslate"><span class="pre">operations[i][j]</span></code> gives the symmetry operation
that maps atom <code class="docutils literal notranslate"><span class="pre">i</span></code> unto <code class="docutils literal notranslate"><span class="pre">j</span></code>.</p>
</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>dict</p>
</dd>
</dl>
</dd></dl>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/pymatgen.symmetry.analyzer.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">pymatgen 2019.5.1 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2011, Pymatgen Development Team.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.0.1.
</div>
<div class="footer">This page uses <a href="http://analytics.google.com/">
Google Analytics</a> to collect statistics. You can disable it by blocking
the JavaScript coming from www.google-analytics.com.
<script type="text/javascript">
(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ?
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})();
</script>
</div>
</body>
</html>