Class GenRecoupCoeff

java.lang.Object
  |
  +--GenRecoupCoeff
All Implemented Interfaces:
java.lang.Cloneable

public class GenRecoupCoeff
extends java.lang.Object
implements java.lang.Cloneable

Class representing a General Recoupling Coefficient of Angular Momenta in terms of 6j-coefficients, which is gradually build by the graphical methods developed by Yutsis and Vanagas by performing reduction operations on the corresponding YutsisGraph.

Author:
Dries.VanDyck@rug.ac.be
See Also:
YutsisGraph, Edge, GRCompoundFactor, GRSummation, GRFactor, GRVisitor

Constructor Summary
GenRecoupCoeff(GenRecoupCoeff grc)
          Constructs an exact copy of the given GenRecoupCoeff.
GenRecoupCoeff(int order, java.lang.String root, java.lang.String[] a, java.lang.String[] b, java.lang.String[] s)
          Constructs a new General Recoupling Coefficient with rootnode root, left intermediate angular momenta a[0]...
 
Method Summary
 void accept(GRVisitor v)
          Implementation of the Visitor pattern.
 void bubble(java.lang.String l1, java.lang.String l2)
          Appends a factor (2*l1+1)^(-1)*delta(l1,l2) to this General Recoupling Coefficient as a consequence of the removal of a bubble between the edges with labels l1, l2 in the corresponding YutsisGraph.
 java.lang.Object clone()
          Implementation of the Cloneable interface.
 void interchange(java.lang.String e, java.lang.String b, java.lang.String c, java.lang.String a, java.lang.String d, java.lang.String f)
          Appends the summation factor sum(f)(2f+1){a, b, f; d, c, e} (Wigner 6j-symbol) to this Genereal Recoupling Coefficient as a consequence of an interchange on the edge with label e interchanging the edges b,c which (respectively) neighboredges a, d in the corresponding YutsisGraph.
 void invertEdge(java.lang.String j)
          Appends a factor (-1)^(2*j) to this General Recoupling Coefficient as a consequence of the invertion of the Edge with label j in the corresponding YutsisGraph.
 void invertNode(java.lang.String[] j)
          Appends a factor (-1)^(j[0] + j[1] + j[2]) to this General Recoupling Coefficient as a consequence of the invertion of the node sign in wich j[0],j[1],j[2] are coupled in the corresponding YutsisGraph.
 int nrOf6js()
          Returns the number of Wigner 6j-symbols in this General Recoupling Coefficient (in its current state).
 int nrOfSummations()
          Returns the number of summationindices in this General Recoupling Coefficient.
 java.lang.String toString()
          Returns a String representation of this General Recoupling Coefficient.
 void triangle(java.lang.String[] l, java.lang.String[] j)
          Appends a factor {j[0], j[1], j[2];l[0], l[1], l[2]} (Wigner 6j-symbol) to this Genereal Recoupling Coefficient as a consequence of the removal of a the triangle l[0], l[1], l[2] with neighboredges j[0], j[1], j[2] such that j[i] is not coupled with l[i] in the corresponding YutsisGraph.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GenRecoupCoeff

public GenRecoupCoeff(int order,
                      java.lang.String root,
                      java.lang.String[] a,
                      java.lang.String[] b,
                      java.lang.String[] s)
Constructs a new General Recoupling Coefficient with rootnode root, left intermediate angular momenta a[0]... a[a.length-1], right intermediate angular momenta b[0]... b[b.length-1] and s all first coupled momenta (with doubles if a angular momenta is first coupled in both trees) with expected number of summationvariables specified by order.

Parameters:
order - the order of the corresponding YutsisGraph
root - the label of the root Edge of the YutsisGraph
a - array containing the labels of the intermediate angular momenta of the BRA of the general recoupling coefficient
b - array containing the labels of the intermediate angular momenta of the KET of the general recoupling coefficient
s - array containing the labels of all first coupled angular momenta

GenRecoupCoeff

public GenRecoupCoeff(GenRecoupCoeff grc)
Constructs an exact copy of the given GenRecoupCoeff.

Parameters:
grc - the GenRecoupCoeff object to be duplicated
Method Detail

nrOf6js

public int nrOf6js()
Returns the number of Wigner 6j-symbols in this General Recoupling Coefficient (in its current state).

Returns:
the number of Wigner 6j-symbols

nrOfSummations

public int nrOfSummations()
Returns the number of summationindices in this General Recoupling Coefficient.

Returns:
the number of summationinices

toString

public java.lang.String toString()
Returns a String representation of this General Recoupling Coefficient.

Overrides:
toString in class java.lang.Object
Returns:
a String representation of this GenRecoupCoeff

accept

public void accept(GRVisitor v)
Implementation of the Visitor pattern. Visits first itself and then calls accept on it's composites.

Parameters:
v - the GRVisitor to be accepted
See Also:
GRVisitor

invertNode

public void invertNode(java.lang.String[] j)
Appends a factor (-1)^(j[0] + j[1] + j[2]) to this General Recoupling Coefficient as a consequence of the invertion of the node sign in wich j[0],j[1],j[2] are coupled in the corresponding YutsisGraph.

Parameters:
j - the labels of the Edges coupled in the inverted node
See Also:
YutsisGraph

invertEdge

public void invertEdge(java.lang.String j)
Appends a factor (-1)^(2*j) to this General Recoupling Coefficient as a consequence of the invertion of the Edge with label j in the corresponding YutsisGraph.

Parameters:
j - the label of the inverted Edge
See Also:
Edge, YutsisGraph

bubble

public void bubble(java.lang.String l1,
                   java.lang.String l2)
Appends a factor (2*l1+1)^(-1)*delta(l1,l2) to this General Recoupling Coefficient as a consequence of the removal of a bubble between the edges with labels l1, l2 in the corresponding YutsisGraph.

Parameters:
l1 - the label of the Edge coming out the bubble
l2 - the label of the Edge entering the bubble
See Also:
Edge, YutsisGraph

triangle

public void triangle(java.lang.String[] l,
                     java.lang.String[] j)
Appends a factor {j[0], j[1], j[2];l[0], l[1], l[2]} (Wigner 6j-symbol) to this Genereal Recoupling Coefficient as a consequence of the removal of a the triangle l[0], l[1], l[2] with neighboredges j[0], j[1], j[2] such that j[i] is not coupled with l[i] in the corresponding YutsisGraph.

Parameters:
l - array containing the labels of the Edges of the triangle
j - array containg the labels of the Edges coming out the triangle
See Also:
Edge, YutsisGraph

interchange

public void interchange(java.lang.String e,
                        java.lang.String b,
                        java.lang.String c,
                        java.lang.String a,
                        java.lang.String d,
                        java.lang.String f)
Appends the summation factor sum(f)(2f+1){a, b, f; d, c, e} (Wigner 6j-symbol) to this Genereal Recoupling Coefficient as a consequence of an interchange on the edge with label e interchanging the edges b,c which (respectively) neighboredges a, d in the corresponding YutsisGraph. f is the new label of the edge with label e.

Parameters:
e - the label of the Edge on which the interchange is applied
b - label of an Edge to be interchanged
c - label of an Edge to be interchanged
a - label of the Edge coupled with e and b
d - label of the Edge coupled with e and c
f - new label of the Edge e
See Also:
Edge, YutsisGraph

clone

public java.lang.Object clone()
Implementation of the Cloneable interface.

Overrides:
clone in class java.lang.Object
Returns:
a clone of this GenRecoupCoeff.