# Thread: A new Perspective on Dichotomies in Socionics - Pyramid Diagrams, Draft

1. ## Error correction on all structural levels

I had a Eureka moment and realized I could do the same analysis I've been doing with the small groups on the dyad and type level. I didn't want to have to figure out all of those equations, so I wrote a program to do it for me \(^u^)/

This is written in Python, which you can run in browser [link]. Otherwise, here is the code
#Harmony Calculation for dichotomy level reinin structures

#Cell Index for excel
#Input needs to be in a single column, in the order:
#E, N, T, P, EN, ET, EP, NT, NP, TP, ENT, ENP, ETP, NTP, ENTP

#Starting at cell F2 for dichotomy E
startColumn = 'F'
startRow = 2

#Assign variables to excel input cells, in vector numerical order
P= startColumn+str(startRow+ 3) #0001
T= startColumn+str(startRow+ 2) #0010
TP= startColumn+str(startRow+ 9) #0011
N= startColumn+str(startRow+ 1) #0100
NP= startColumn+str(startRow+ 8) #0101
NT= startColumn+str(startRow+ 7) #0110
NTP= startColumn+str(startRow+13) #0111
E= startColumn+str(startRow+ 0) #1000
EP= startColumn+str(startRow+ 6) #1001
ET= startColumn+str(startRow+ 5) #1010
ETP= startColumn+str(startRow+12) #1011
EN= startColumn+str(startRow+ 4) #1100
ENP= startColumn+str(startRow+11) #1101
ENT= startColumn+str(startRow+10) #1110
ENTP=startColumn+str(startRow+14) #1111

#Dichotomy vectors put in list in numerical order
cellList = ['IDENTITY',P,T,TP,N,NP,NT,NTP,E,EP,ET,ETP,EN,ENP,E NT,ENTP]

#Dichotomy variable from index number
nameList = ['IDENTITY','P','T','TP','N','NP','NT','NTP','E','E P','ET','ETP','EN','ENP','ENT','ENTP']

#List Index
list1= [''] #0000
listP= [''] #0001
listT= [''] #0010
listTP= [''] #0011
listN= [''] #0100
listNP= [''] #0101
listNT= [''] #0110
listNTP= [''] #0111
listE= [''] #1000
listEP= [''] #1001
listET= [''] #1010
listETP= [''] #1011
listEN= [''] #1100
listENP= [''] #1101
listENT= [''] #1110
listENTP= [''] #1111

listList =
[list1,listP,listT,listTP,listN,listNP,listNT,listN TP,listE,listEP,listET,listETP,listEN,listENP,list ENT,listENTP]

#FUNCTIONS
#Print list items with line space at end
def printList(arg1):
i = 0
loop=len(arg1)
while (i < loop):
print(arg1[i])
i = i + 1
print ("")

#Add new item to bottom of list
list.insert(len(list),item)

#vector addition for two dichotomy vectors strings
v1=str(v1)
v2=str(v2)
a=( int(v1[0]) + int(v2[0]) )%2 #Mod 2 addition, 1+0=1 1+1=0
b=( int(v1[1]) + int(v2[1]) )%2
c=( int(v1[2]) + int(v2[2]) )%2
d=( int(v1[3]) + int(v2[3]) )%2
v3=str(a)+str(b)+str(c)+str(d) #Recontructs output vector string
return(v3)

#Converts boolean vector to decimal equivelent to use with list indexing
def vectorToInt (vector):
vector=str(vector)
a=int(vector[0])*8+int(vector[1])*4+int(vector[2])*2+int(vector[3])
return a

#Converts a number 0-15 into a vector string
def intToVector (integer):
integer = ''.join(str(1 & int(integer) >> i) for i in range(4)[::-1])
return integer

#Adds two integers as if they were vectors and returns an integer
int1 = intToVector(int1)
int2 = intToVector(int2)
int3 = vectorToInt(int3)
return int3

#PROGRAM

#Small group level constructions, 7 for each dichotomy
w=1
while (w<16):
vw=intToVector(w) #w as a vector
x=w+1
while (x<16):
vx=intToVector(x) #x as a vector
if vw!=vx:
formula = '='+cellList[w]+'*'+cellList[x]
x=x+1
w=w+1

#Dyad level constructions, 28 for each dichotomy
w=1
while (w<16):
vw=intToVector(w) #w as a vector
x=w+1
while (x<16):
vx=intToVector(x) #x as a vector
if w!=x:
y=x+1
while (y<16):
vy=intToVector(y) #y as a vector
formula = '='+cellList[w]+'*'+cellList[x]+'*'+cellList[y]
y=y+1
x=x+1
w=w+1

#Type level constructions, 56 for each dichotomy
w=1
while (w<16):
vw=intToVector(w) #w as a vector
x=w+1
while (x<16):
vx=intToVector(x) #x as a vector
if w!=x:
y=x+1
while (y<16):
vy=intToVector(y) #y as a vector
if vectorAdd(vw,vx)!=vy and vw!=vy and vx!=vy:
z=y+1
while (z<16):
vv1=vw
vv2=vx
vv3=vy
vz=intToVector(z) #z as a vector
if (vz!=vv1) and (vz!=vv2) and (vz!=vv3) and (vz!=vv4) and (vz!=vv5) and (vz!=vv6) and (vz!=vv7):
formula = '='+cellList[w]+'*'+cellList[x]+'*'+cellList[y]+'*'+cellList[z]
z=z+1
y=y+1
x=x+1
w=w+1

#PRINT RESULTS
#In vector numerical order, to be copied into Excel
i=1
while i<16:
vectorNum = i
print(nameList[vectorNum])
printList(listList[vectorNum])
print('--------------------')
print('')
i=i+1

#END PROGRAM
The program as posted is set to output excel cells for my dichotomy calculator. Changing a few things around [link], this is the output in Reinin notation:

E
Small Group Relations:
=N*EN
=T*ET
=P*EP
=NT*ENT
=NP*ENP
=TP*ETP
=NTP*ENTP

=N*T*ENT
=N*P*ENP
=N*ET*NT
=N*EP*NP
=N*TP*ENTP
=N*ETP*NTP
=T*P*ETP
=T*EN*NT
=T*EP*TP
=T*NP*ENTP
=T*ENP*NTP
=P*EN*NP
=P*ET*TP
=P*NT*ENTP
=P*ENT*NTP
=EN*ET*ENT
=EN*EP*ENP
=EN*TP*NTP
=EN*ETP*ENTP
=ET*EP*ETP
=ET*NP*NTP
=ET*ENP*ENTP
=EP*NT*NTP
=EP*ENT*ENTP
=NT*NP*ETP
=NT*TP*ENP
=NP*TP*ENT
=ENT*ENP*ETP

Type Relations:
=N*T*P*ENTP
=N*T*EP*NTP
=N*T*NP*ETP
=N*T*TP*ENP
=N*P*ET*NTP
=N*P*NT*ETP
=N*P*TP*ENT
=N*ET*EP*ENTP
=N*ET*NP*TP
=N*ET*ENP*ETP
=N*EP*NT*TP
=N*EP*ENT*ETP
=N*NT*NP*ENTP
=N*NT*ENP*NTP
=N*NP*ENT*NTP
=N*ENT*ENP*ENTP
=T*P*EN*NTP
=T*P*NT*ENP
=T*P*NP*ENT
=T*EN*EP*ENTP
=T*EN*NP*TP
=T*EN*ENP*ETP
=T*EP*NT*NP
=T*EP*ENT*ENP
=T*NT*TP*ENTP
=T*NT*ETP*NTP
=T*TP*ENT*NTP
=T*ENT*ETP*ENTP
=P*EN*ET*ENTP
=P*EN*NT*TP
=P*EN*ENT*ETP
=P*ET*NT*NP
=P*ET*ENT*ENP
=P*NP*TP*ENTP
=P*NP*ETP*NTP
=P*TP*ENP*NTP
=P*ENP*ETP*ENTP
=EN*ET*EP*NTP
=EN*ET*NP*ETP
=EN*ET*TP*ENP
=EN*EP*NT*ETP
=EN*EP*TP*ENT
=EN*NT*NP*NTP
=EN*NT*ENP*ENTP
=EN*NP*ENT*ENTP
=EN*ENT*ENP*NTP
=ET*EP*NT*ENP
=ET*EP*NP*ENT
=ET*NT*TP*NTP
=ET*NT*ETP*ENTP
=ET*TP*ENT*ENTP
=ET*ENT*ETP*NTP
=EP*NP*TP*NTP
=EP*NP*ETP*ENTP
=EP*TP*ENP*ENTP
=EP*ENP*ETP*NTP

N
Small Group Relations:
=E*EN
=T*NT
=P*NP
=ET*ENT
=EP*ENP
=TP*NTP
=ETP*ENTP

=E*T*ENT
=E*P*ENP
=E*ET*NT
=E*EP*NP
=E*TP*ENTP
=E*ETP*NTP
=T*P*NTP
=T*EN*ET
=T*EP*ENTP
=T*NP*TP
=T*ENP*ETP
=P*EN*EP
=P*ET*ENTP
=P*NT*TP
=P*ENT*ETP
=EN*NT*ENT
=EN*NP*ENP
=EN*TP*ETP
=EN*NTP*ENTP
=ET*EP*NTP
=ET*NP*ETP
=ET*TP*ENP
=EP*NT*ETP
=EP*TP*ENT
=NT*NP*NTP
=NT*ENP*ENTP
=NP*ENT*ENTP
=ENT*ENP*NTP

Type Relations:
=E*T*P*ENTP
=E*T*EP*NTP
=E*T*NP*ETP
=E*T*TP*ENP
=E*P*ET*NTP
=E*P*NT*ETP
=E*P*TP*ENT
=E*ET*EP*ENTP
=E*ET*NP*TP
=E*ET*ENP*ETP
=E*EP*NT*TP
=E*EP*ENT*ETP
=E*NT*NP*ENTP
=E*NT*ENP*NTP
=E*NP*ENT*NTP
=E*ENT*ENP*ENTP
=T*P*EN*ETP
=T*P*ET*ENP
=T*P*EP*ENT
=T*EN*EP*TP
=T*EN*NP*ENTP
=T*EN*ENP*NTP
=T*ET*EP*NP
=T*ET*TP*ENTP
=T*ET*ETP*NTP
=T*NP*ENT*ENP
=T*TP*ENT*ETP
=T*ENT*NTP*ENTP
=P*EN*ET*TP
=P*EN*NT*ENTP
=P*EN*ENT*NTP
=P*ET*EP*NT
=P*EP*TP*ENTP
=P*EP*ETP*NTP
=P*NT*ENT*ENP
=P*TP*ENP*ETP
=P*ENP*NTP*ENTP
=EN*ET*EP*ETP
=EN*ET*NP*NTP
=EN*ET*ENP*ENTP
=EN*EP*NT*NTP
=EN*EP*ENT*ENTP
=EN*NT*NP*ETP
=EN*NT*TP*ENP
=EN*NP*TP*ENT
=EN*ENT*ENP*ETP
=ET*NT*NP*ENP
=ET*NT*TP*ETP
=ET*NT*NTP*ENTP
=EP*NT*NP*ENT
=EP*NP*TP*ETP
=EP*NP*NTP*ENTP
=NT*TP*ENT*ENTP
=NT*ENT*ETP*NTP
=NP*TP*ENP*ENTP
=NP*ENP*ETP*NTP

T
Small Group Relations:
=E*ET
=N*NT
=P*TP
=EN*ENT
=EP*ETP
=NP*NTP
=ENP*ENTP

=E*N*ENT
=E*P*ETP
=E*EN*NT
=E*EP*TP
=E*NP*ENTP
=E*ENP*NTP
=N*P*NTP
=N*EN*ET
=N*EP*ENTP
=N*NP*TP
=N*ENP*ETP
=P*EN*ENTP
=P*ET*EP
=P*NT*NP
=P*ENT*ENP
=EN*EP*NTP
=EN*NP*ETP
=EN*TP*ENP
=ET*NT*ENT
=ET*NP*ENP
=ET*TP*ETP
=ET*NTP*ENTP
=EP*NT*ENP
=EP*NP*ENT
=NT*TP*NTP
=NT*ETP*ENTP
=TP*ENT*ENTP
=ENT*ETP*NTP

Type Relations:
=E*N*P*ENTP
=E*N*EP*NTP
=E*N*NP*ETP
=E*N*TP*ENP
=E*P*EN*NTP
=E*P*NT*ENP
=E*P*NP*ENT
=E*EN*EP*ENTP
=E*EN*NP*TP
=E*EN*ENP*ETP
=E*EP*NT*NP
=E*EP*ENT*ENP
=E*NT*TP*ENTP
=E*NT*ETP*NTP
=E*TP*ENT*NTP
=E*ENT*ETP*ENTP
=N*P*EN*ETP
=N*P*ET*ENP
=N*P*EP*ENT
=N*EN*EP*TP
=N*EN*NP*ENTP
=N*EN*ENP*NTP
=N*ET*EP*NP
=N*ET*TP*ENTP
=N*ET*ETP*NTP
=N*NP*ENT*ENP
=N*TP*ENT*ETP
=N*ENT*NTP*ENTP
=P*EN*ET*NP
=P*EN*EP*NT
=P*ET*NT*ENTP
=P*ET*ENT*NTP
=P*EP*NP*ENTP
=P*EP*ENP*NTP
=P*NT*ENT*ETP
=P*NP*ENP*ETP
=P*ETP*NTP*ENTP
=EN*ET*EP*ENP
=EN*ET*TP*NTP
=EN*ET*ETP*ENTP
=EN*NT*NP*ENP
=EN*NT*TP*ETP
=EN*NT*NTP*ENTP
=ET*EP*NT*NTP
=ET*EP*ENT*ENTP
=ET*NT*NP*ETP
=ET*NT*TP*ENP
=ET*NP*TP*ENT
=ET*ENT*ENP*ETP
=EP*NT*TP*ENT
=EP*NP*TP*ENP
=EP*TP*NTP*ENTP
=NT*NP*ENT*ENTP
=NT*ENT*ENP*NTP
=NP*TP*ETP*ENTP
=TP*ENP*ETP*NTP

P
Small Group Relations:
=E*EP
=N*NP
=T*TP
=EN*ENP
=ET*ETP
=NT*NTP
=ENT*ENTP

=E*N*ENP
=E*T*ETP
=E*EN*NP
=E*ET*TP
=E*NT*ENTP
=E*ENT*NTP
=N*T*NTP
=N*EN*EP
=N*ET*ENTP
=N*NT*TP
=N*ENT*ETP
=T*EN*ENTP
=T*ET*EP
=T*NT*NP
=T*ENT*ENP
=EN*ET*NTP
=EN*NT*ETP
=EN*TP*ENT
=ET*NT*ENP
=ET*NP*ENT
=EP*NT*ENT
=EP*NP*ENP
=EP*TP*ETP
=EP*NTP*ENTP
=NP*TP*NTP
=NP*ETP*ENTP
=TP*ENP*ENTP
=ENP*ETP*NTP

Type Relations:
=E*N*T*ENTP
=E*N*ET*NTP
=E*N*NT*ETP
=E*N*TP*ENT
=E*T*EN*NTP
=E*T*NT*ENP
=E*T*NP*ENT
=E*EN*ET*ENTP
=E*EN*NT*TP
=E*EN*ENT*ETP
=E*ET*NT*NP
=E*ET*ENT*ENP
=E*NP*TP*ENTP
=E*NP*ETP*NTP
=E*TP*ENP*NTP
=E*ENP*ETP*ENTP
=N*T*EN*ETP
=N*T*ET*ENP
=N*T*EP*ENT
=N*EN*ET*TP
=N*EN*NT*ENTP
=N*EN*ENT*NTP
=N*ET*EP*NT
=N*EP*TP*ENTP
=N*EP*ETP*NTP
=N*NT*ENT*ENP
=N*TP*ENP*ETP
=N*ENP*NTP*ENTP
=T*EN*ET*NP
=T*EN*EP*NT
=T*ET*NT*ENTP
=T*ET*ENT*NTP
=T*EP*NP*ENTP
=T*EP*ENP*NTP
=T*NT*ENT*ETP
=T*NP*ENP*ETP
=T*ETP*NTP*ENTP
=EN*ET*EP*ENT
=EN*EP*TP*NTP
=EN*EP*ETP*ENTP
=EN*NT*NP*ENT
=EN*NP*TP*ETP
=EN*NP*NTP*ENTP
=ET*EP*NP*NTP
=ET*EP*ENP*ENTP
=ET*NT*TP*ENT
=ET*NP*TP*ENP
=ET*TP*NTP*ENTP
=EP*NT*NP*ETP
=EP*NT*TP*ENP
=EP*NP*TP*ENT
=EP*ENT*ENP*ETP
=NT*NP*ENP*ENTP
=NT*TP*ETP*ENTP
=NP*ENT*ENP*NTP
=TP*ENT*ETP*NTP

EN
Small Group Relations:
=E*N
=T*ENT
=P*ENP
=ET*NT
=EP*NP
=TP*ENTP
=ETP*NTP

=E*T*NT
=E*P*NP
=E*ET*ENT
=E*EP*ENP
=E*TP*NTP
=E*ETP*ENTP
=N*T*ET
=N*P*EP
=N*NT*ENT
=N*NP*ENP
=N*TP*ETP
=N*NTP*ENTP
=T*P*ENTP
=T*EP*NTP
=T*NP*ETP
=T*TP*ENP
=P*ET*NTP
=P*NT*ETP
=P*TP*ENT
=ET*EP*ENTP
=ET*NP*TP
=ET*ENP*ETP
=EP*NT*TP
=EP*ENT*ETP
=NT*NP*ENTP
=NT*ENP*NTP
=NP*ENT*NTP
=ENT*ENP*ENTP

Type Relations:
=E*T*P*NTP
=E*T*EP*ENTP
=E*T*NP*TP
=E*T*ENP*ETP
=E*P*ET*ENTP
=E*P*NT*TP
=E*P*ENT*ETP
=E*ET*EP*NTP
=E*ET*NP*ETP
=E*ET*TP*ENP
=E*EP*NT*ETP
=E*EP*TP*ENT
=E*NT*NP*NTP
=E*NT*ENP*ENTP
=E*NP*ENT*ENTP
=E*ENT*ENP*NTP
=N*T*P*ETP
=N*T*EP*TP
=N*T*NP*ENTP
=N*T*ENP*NTP
=N*P*ET*TP
=N*P*NT*ENTP
=N*P*ENT*NTP
=N*ET*EP*ETP
=N*ET*NP*NTP
=N*ET*ENP*ENTP
=N*EP*NT*NTP
=N*EP*ENT*ENTP
=N*NT*NP*ETP
=N*NT*TP*ENP
=N*NP*TP*ENT
=N*ENT*ENP*ETP
=T*P*ET*NP
=T*P*EP*NT
=T*ET*EP*ENP
=T*ET*TP*NTP
=T*ET*ETP*ENTP
=T*NT*NP*ENP
=T*NT*TP*ETP
=T*NT*NTP*ENTP
=P*ET*EP*ENT
=P*EP*TP*NTP
=P*EP*ETP*ENTP
=P*NT*NP*ENT
=P*NP*TP*ETP
=P*NP*NTP*ENTP
=ET*NP*ENT*ENP
=ET*TP*ENT*ETP
=ET*ENT*NTP*ENTP
=EP*NT*ENT*ENP
=EP*TP*ENP*ETP
=EP*ENP*NTP*ENTP
=NT*TP*ENT*NTP
=NT*ENT*ETP*ENTP
=NP*TP*ENP*NTP
=NP*ENP*ETP*ENTP

ET
Small Group Relations:
=E*T
=N*ENT
=P*ETP
=EN*NT
=EP*TP
=NP*ENTP
=ENP*NTP

=E*N*NT
=E*P*TP
=E*EN*ENT
=E*EP*ETP
=E*NP*NTP
=E*ENP*ENTP
=N*T*EN
=N*P*ENTP
=N*EP*NTP
=N*NP*ETP
=N*TP*ENP
=T*P*EP
=T*NT*ENT
=T*NP*ENP
=T*TP*ETP
=T*NTP*ENTP
=P*EN*NTP
=P*NT*ENP
=P*NP*ENT
=EN*EP*ENTP
=EN*NP*TP
=EN*ENP*ETP
=EP*NT*NP
=EP*ENT*ENP
=NT*TP*ENTP
=NT*ETP*NTP
=TP*ENT*NTP
=ENT*ETP*ENTP

Type Relations:
=E*N*P*NTP
=E*N*EP*ENTP
=E*N*NP*TP
=E*N*ENP*ETP
=E*P*EN*ENTP
=E*P*NT*NP
=E*P*ENT*ENP
=E*EN*EP*NTP
=E*EN*NP*ETP
=E*EN*TP*ENP
=E*EP*NT*ENP
=E*EP*NP*ENT
=E*NT*TP*NTP
=E*NT*ETP*ENTP
=E*TP*ENT*ENTP
=E*ENT*ETP*NTP
=N*T*P*ENP
=N*T*EP*NP
=N*T*TP*ENTP
=N*T*ETP*NTP
=N*P*EN*TP
=N*P*EP*NT
=N*EN*EP*ETP
=N*EN*NP*NTP
=N*EN*ENP*ENTP
=N*NT*NP*ENP
=N*NT*TP*ETP
=N*NT*NTP*ENTP
=T*P*EN*NP
=T*P*NT*ENTP
=T*P*ENT*NTP
=T*EN*EP*ENP
=T*EN*TP*NTP
=T*EN*ETP*ENTP
=T*EP*NT*NTP
=T*EP*ENT*ENTP
=T*NT*NP*ETP
=T*NT*TP*ENP
=T*NP*TP*ENT
=T*ENT*ENP*ETP
=P*EN*EP*ENT
=P*EP*NP*NTP
=P*EP*ENP*ENTP
=P*NT*TP*ENT
=P*NP*TP*ENP
=P*TP*NTP*ENTP
=EN*NP*ENT*ENP
=EN*TP*ENT*ETP
=EN*ENT*NTP*ENTP
=EP*NT*ENT*ETP
=EP*NP*ENP*ETP
=EP*ETP*NTP*ENTP
=NT*NP*ENT*NTP
=NT*ENT*ENP*ENTP
=NP*TP*ETP*NTP
=TP*ENP*ETP*ENTP

EP
Small Group Relations:
=E*P
=N*ENP
=T*ETP
=EN*NP
=ET*TP
=NT*ENTP
=ENT*NTP

=E*N*NP
=E*T*TP
=E*EN*ENP
=E*ET*ETP
=E*NT*NTP
=E*ENT*ENTP
=N*T*ENTP
=N*P*EN
=N*ET*NTP
=N*NT*ETP
=N*TP*ENT
=T*P*ET
=T*EN*NTP
=T*NT*ENP
=T*NP*ENT
=P*NT*ENT
=P*NP*ENP
=P*TP*ETP
=P*NTP*ENTP
=EN*ET*ENTP
=EN*NT*TP
=EN*ENT*ETP
=ET*NT*NP
=ET*ENT*ENP
=NP*TP*ENTP
=NP*ETP*NTP
=TP*ENP*NTP
=ENP*ETP*ENTP

Type Relations:
=E*N*T*NTP
=E*N*ET*ENTP
=E*N*NT*TP
=E*N*ENT*ETP
=E*T*EN*ENTP
=E*T*NT*NP
=E*T*ENT*ENP
=E*EN*ET*NTP
=E*EN*NT*ETP
=E*EN*TP*ENT
=E*ET*NT*ENP
=E*ET*NP*ENT
=E*NP*TP*NTP
=E*NP*ETP*ENTP
=E*TP*ENP*ENTP
=E*ENP*ETP*NTP
=N*T*P*ENT
=N*T*EN*TP
=N*T*ET*NP
=N*P*ET*NT
=N*P*TP*ENTP
=N*P*ETP*NTP
=N*EN*ET*ETP
=N*EN*NT*NTP
=N*EN*ENT*ENTP
=N*NT*NP*ENT
=N*NP*TP*ETP
=N*NP*NTP*ENTP
=T*P*EN*NT
=T*P*NP*ENTP
=T*P*ENP*NTP
=T*EN*ET*ENP
=T*ET*NT*NTP
=T*ET*ENT*ENTP
=T*NT*TP*ENT
=T*NP*TP*ENP
=T*TP*NTP*ENTP
=P*EN*ET*ENT
=P*EN*TP*NTP
=P*EN*ETP*ENTP
=P*ET*NP*NTP
=P*ET*ENP*ENTP
=P*NT*NP*ETP
=P*NT*TP*ENP
=P*NP*TP*ENT
=P*ENT*ENP*ETP
=EN*NT*ENT*ENP
=EN*TP*ENP*ETP
=EN*ENP*NTP*ENTP
=ET*NT*ENT*ETP
=ET*NP*ENP*ETP
=ET*ETP*NTP*ENTP
=NT*NP*ENP*NTP
=NT*TP*ETP*NTP
=NP*ENT*ENP*ENTP
=TP*ENT*ETP*ENTP

NT
Small Group Relations:
=E*ENT
=N*T
=P*NTP
=EN*ET
=EP*ENTP
=NP*TP
=ENP*ETP

=E*N*ET
=E*T*EN
=E*P*ENTP
=E*EP*NTP
=E*NP*ETP
=E*TP*ENP
=N*P*TP
=N*EN*ENT
=N*EP*ETP
=N*NP*NTP
=N*ENP*ENTP
=T*P*NP
=T*ET*ENT
=T*EP*ENP
=T*TP*NTP
=T*ETP*ENTP
=P*EN*ETP
=P*ET*ENP
=P*EP*ENT
=EN*EP*TP
=EN*NP*ENTP
=EN*ENP*NTP
=ET*EP*NP
=ET*TP*ENTP
=ET*ETP*NTP
=NP*ENT*ENP
=TP*ENT*ETP
=ENT*NTP*ENTP

Type Relations:
=E*N*P*ETP
=E*N*EP*TP
=E*N*NP*ENTP
=E*N*ENP*NTP
=E*T*P*ENP
=E*T*EP*NP
=E*T*TP*ENTP
=E*T*ETP*NTP
=E*P*EN*TP
=E*P*ET*NP
=E*EN*EP*ETP
=E*EN*NP*NTP
=E*EN*ENP*ENTP
=E*ET*EP*ENP
=E*ET*TP*NTP
=E*ET*ETP*ENTP
=N*P*EN*ENTP
=N*P*ET*EP
=N*P*ENT*ENP
=N*EN*EP*NTP
=N*EN*NP*ETP
=N*EN*TP*ENP
=N*ET*NP*ENP
=N*ET*TP*ETP
=N*ET*NTP*ENTP
=N*EP*NP*ENT
=N*TP*ENT*ENTP
=N*ENT*ETP*NTP
=T*P*EN*EP
=T*P*ET*ENTP
=T*P*ENT*ETP
=T*EN*NP*ENP
=T*EN*TP*ETP
=T*EN*NTP*ENTP
=T*ET*EP*NTP
=T*ET*NP*ETP
=T*ET*TP*ENP
=T*EP*TP*ENT
=T*NP*ENT*ENTP
=T*ENT*ENP*NTP
=P*EN*NP*ENT
=P*ET*TP*ENT
=P*EP*NP*ETP
=P*EP*TP*ENP
=P*NP*ENP*ENTP
=P*TP*ETP*ENTP
=EN*EP*ENT*ENP
=EN*TP*ENT*NTP
=EN*ENT*ETP*ENTP
=ET*EP*ENT*ETP
=ET*NP*ENT*NTP
=ET*ENT*ENP*ENTP
=EP*NP*ENP*NTP
=EP*TP*ETP*NTP
=NP*ETP*NTP*ENTP
=TP*ENP*NTP*ENTP

NP
Small Group Relations:
=E*ENP
=N*P
=T*NTP
=EN*EP
=ET*ENTP
=NT*TP
=ENT*ETP

=E*N*EP
=E*T*ENTP
=E*P*EN
=E*ET*NTP
=E*NT*ETP
=E*TP*ENT
=N*T*TP
=N*EN*ENP
=N*ET*ETP
=N*NT*NTP
=N*ENT*ENTP
=T*P*NT
=T*EN*ETP
=T*ET*ENP
=T*EP*ENT
=P*ET*ENT
=P*EP*ENP
=P*TP*NTP
=P*ETP*ENTP
=EN*ET*TP
=EN*NT*ENTP
=EN*ENT*NTP
=ET*EP*NT
=EP*TP*ENTP
=EP*ETP*NTP
=NT*ENT*ENP
=TP*ENP*ETP
=ENP*NTP*ENTP

Type Relations:
=E*N*T*ETP
=E*N*ET*TP
=E*N*NT*ENTP
=E*N*ENT*NTP
=E*T*P*ENT
=E*T*EN*TP
=E*T*EP*NT
=E*P*ET*NT
=E*P*TP*ENTP
=E*P*ETP*NTP
=E*EN*ET*ETP
=E*EN*NT*NTP
=E*EN*ENT*ENTP
=E*ET*EP*ENT
=E*EP*TP*NTP
=E*EP*ETP*ENTP
=N*T*EN*ENTP
=N*T*ET*EP
=N*T*ENT*ENP
=N*EN*ET*NTP
=N*EN*NT*ETP
=N*EN*TP*ENT
=N*ET*NT*ENP
=N*EP*NT*ENT
=N*EP*TP*ETP
=N*EP*NTP*ENTP
=N*TP*ENP*ENTP
=N*ENP*ETP*NTP
=T*P*EN*ET
=T*P*EP*ENTP
=T*P*ENP*ETP
=T*EN*NT*ENP
=T*ET*NT*ETP
=T*ET*TP*ENT
=T*EP*TP*ENP
=T*NT*ENT*ENTP
=T*TP*ETP*ENTP
=P*EN*NT*ENT
=P*EN*TP*ETP
=P*EN*NTP*ENTP
=P*ET*EP*NTP
=P*ET*TP*ENP
=P*EP*NT*ETP
=P*EP*TP*ENT
=P*NT*ENP*ENTP
=P*ENT*ENP*NTP
=EN*ET*ENT*ENP
=EN*TP*ENP*NTP
=EN*ENP*ETP*ENTP
=ET*EP*ENP*ETP
=ET*NT*ENT*NTP
=ET*TP*ETP*NTP
=EP*NT*ENP*NTP
=EP*ENT*ENP*ENTP
=NT*ETP*NTP*ENTP
=TP*ENT*NTP*ENTP

TP
Small Group Relations:
=E*ETP
=N*NTP
=T*P
=EN*ENTP
=ET*EP
=NT*NP
=ENT*ENP

=E*N*ENTP
=E*T*EP
=E*P*ET
=E*EN*NTP
=E*NT*ENP
=E*NP*ENT
=N*T*NP
=N*P*NT
=N*EN*ETP
=N*ET*ENP
=N*EP*ENT
=T*EN*ENP
=T*ET*ETP
=T*NT*NTP
=T*ENT*ENTP
=P*EN*ENT
=P*EP*ETP
=P*NP*NTP
=P*ENP*ENTP
=EN*ET*NP
=EN*EP*NT
=ET*NT*ENTP
=ET*ENT*NTP
=EP*NP*ENTP
=EP*ENP*NTP
=NT*ENT*ETP
=NP*ENP*ETP
=ETP*NTP*ENTP

Type Relations:
=E*N*T*ENP
=E*N*P*ENT
=E*N*ET*NP
=E*N*EP*NT
=E*T*EN*NP
=E*T*NT*ENTP
=E*T*ENT*NTP
=E*P*EN*NT
=E*P*NP*ENTP
=E*P*ENP*NTP
=E*EN*ET*ENP
=E*EN*EP*ENT
=E*ET*NT*NTP
=E*ET*ENT*ENTP
=E*EP*NP*NTP
=E*EP*ENP*ENTP
=N*T*EN*EP
=N*T*ET*ENTP
=N*T*ENT*ETP
=N*P*EN*ET
=N*P*EP*ENTP
=N*P*ENP*ETP
=N*EN*NT*ENP
=N*EN*NP*ENT
=N*ET*NT*ETP
=N*EP*NP*ETP
=N*NT*ENT*ENTP
=N*NP*ENP*ENTP
=T*EN*ET*NTP
=T*EN*NT*ETP
=T*ET*NT*ENP
=T*ET*NP*ENT
=T*EP*NT*ENT
=T*EP*NP*ENP
=T*EP*NTP*ENTP
=T*NP*ETP*ENTP
=T*ENP*ETP*NTP
=P*EN*EP*NTP
=P*EN*NP*ETP
=P*ET*NT*ENT
=P*ET*NP*ENP
=P*ET*NTP*ENTP
=P*EP*NT*ENP
=P*EP*NP*ENT
=P*NT*ETP*ENTP
=P*ENT*ETP*NTP
=EN*ET*ENT*ETP
=EN*EP*ENP*ETP
=EN*NT*ENT*NTP
=EN*NP*ENP*NTP
=ET*NP*ETP*NTP
=ET*ENP*ETP*ENTP
=EP*NT*ETP*NTP
=EP*ENT*ETP*ENTP
=NT*ENP*NTP*ENTP
=NP*ENT*NTP*ENTP

ENT
Small Group Relations:
=E*NT
=N*ET
=T*EN
=P*ENTP
=EP*NTP
=NP*ETP
=TP*ENP

=E*N*T
=E*P*NTP
=E*EN*ET
=E*EP*ENTP
=E*NP*TP
=E*ENP*ETP
=N*P*ETP
=N*EN*NT
=N*EP*TP
=N*NP*ENTP
=N*ENP*NTP
=T*P*ENP
=T*ET*NT
=T*EP*NP
=T*TP*ENTP
=T*ETP*NTP
=P*EN*TP
=P*ET*NP
=P*EP*NT
=EN*EP*ETP
=EN*NP*NTP
=EN*ENP*ENTP
=ET*EP*ENP
=ET*TP*NTP
=ET*ETP*ENTP
=NT*NP*ENP
=NT*TP*ETP
=NT*NTP*ENTP

Type Relations:
=E*N*P*TP
=E*N*EP*ETP
=E*N*NP*NTP
=E*N*ENP*ENTP
=E*T*P*NP
=E*T*EP*ENP
=E*T*TP*NTP
=E*T*ETP*ENTP
=E*P*EN*ETP
=E*P*ET*ENP
=E*EN*EP*TP
=E*EN*NP*ENTP
=E*EN*ENP*NTP
=E*ET*EP*NP
=E*ET*TP*ENTP
=E*ET*ETP*NTP
=N*T*P*EP
=N*T*NP*ENP
=N*T*TP*ETP
=N*T*NTP*ENTP
=N*P*EN*NTP
=N*P*NT*ENP
=N*EN*EP*ENTP
=N*EN*NP*TP
=N*EN*ENP*ETP
=N*EP*NT*NP
=N*NT*TP*ENTP
=N*NT*ETP*NTP
=T*P*ET*NTP
=T*P*NT*ETP
=T*ET*EP*ENTP
=T*ET*NP*TP
=T*ET*ENP*ETP
=T*EP*NT*TP
=T*NT*NP*ENTP
=T*NT*ENP*NTP
=P*EN*ET*EP
=P*EN*NT*NP
=P*ET*NT*TP
=P*EP*NP*TP
=P*EP*ENP*ETP
=P*NP*ENP*NTP
=P*TP*ETP*NTP
=EN*ET*NP*ENP
=EN*ET*TP*ETP
=EN*ET*NTP*ENTP
=EN*EP*NT*ENP
=EN*NT*TP*NTP
=EN*NT*ETP*ENTP
=ET*EP*NT*ETP
=ET*NT*NP*NTP
=ET*NT*ENP*ENTP
=EP*NP*ENP*ENTP
=EP*TP*ETP*ENTP
=NP*TP*NTP*ENTP
=ENP*ETP*NTP*ENTP

ENP
Small Group Relations:
=E*NP
=N*EP
=T*ENTP
=P*EN
=ET*NTP
=NT*ETP
=TP*ENT

=E*N*P
=E*T*NTP
=E*EN*EP
=E*ET*ENTP
=E*NT*TP
=E*ENT*ETP
=N*T*ETP
=N*EN*NP
=N*ET*TP
=N*NT*ENTP
=N*ENT*NTP
=T*P*ENT
=T*EN*TP
=T*ET*NP
=T*EP*NT
=P*ET*NT
=P*EP*NP
=P*TP*ENTP
=P*ETP*NTP
=EN*ET*ETP
=EN*NT*NTP
=EN*ENT*ENTP
=ET*EP*ENT
=EP*TP*NTP
=EP*ETP*ENTP
=NT*NP*ENT
=NP*TP*ETP
=NP*NTP*ENTP

Type Relations:
=E*N*T*TP
=E*N*ET*ETP
=E*N*NT*NTP
=E*N*ENT*ENTP
=E*T*P*NT
=E*T*EN*ETP
=E*T*EP*ENT
=E*P*ET*ENT
=E*P*TP*NTP
=E*P*ETP*ENTP
=E*EN*ET*TP
=E*EN*NT*ENTP
=E*EN*ENT*NTP
=E*ET*EP*NT
=E*EP*TP*ENTP
=E*EP*ETP*NTP
=N*T*P*ET
=N*T*EN*NTP
=N*T*NP*ENT
=N*P*NT*ENT
=N*P*TP*ETP
=N*P*NTP*ENTP
=N*EN*ET*ENTP
=N*EN*NT*TP
=N*EN*ENT*ETP
=N*ET*NT*NP
=N*NP*TP*ENTP
=N*NP*ETP*NTP
=T*P*EP*NTP
=T*P*NP*ETP
=T*EN*ET*EP
=T*EN*NT*NP
=T*ET*NT*TP
=T*ET*ENT*ETP
=T*EP*NP*TP
=T*NT*ENT*NTP
=T*TP*ETP*NTP
=P*ET*EP*ENTP
=P*ET*NP*TP
=P*EP*NT*TP
=P*EP*ENT*ETP
=P*NT*NP*ENTP
=P*NP*ENT*NTP
=EN*ET*NP*ENT
=EN*EP*NT*ENT
=EN*EP*TP*ETP
=EN*EP*NTP*ENTP
=EN*NP*TP*NTP
=EN*NP*ETP*ENTP
=ET*EP*NP*ETP
=ET*NT*ENT*ENTP
=ET*TP*ETP*ENTP
=EP*NT*NP*NTP
=EP*NP*ENT*ENTP
=NT*TP*NTP*ENTP
=ENT*ETP*NTP*ENTP

ETP
Small Group Relations:
=E*TP
=N*ENTP
=T*EP
=P*ET
=EN*NTP
=NT*ENP
=NP*ENT

=E*N*NTP
=E*T*P
=E*EN*ENTP
=E*ET*EP
=E*NT*NP
=E*ENT*ENP
=N*T*ENP
=N*P*ENT
=N*EN*TP
=N*ET*NP
=N*EP*NT
=T*EN*NP
=T*ET*TP
=T*NT*ENTP
=T*ENT*NTP
=P*EN*NT
=P*EP*TP
=P*NP*ENTP
=P*ENP*NTP
=EN*ET*ENP
=EN*EP*ENT
=ET*NT*NTP
=ET*ENT*ENTP
=EP*NP*NTP
=EP*ENP*ENTP
=NT*TP*ENT
=NP*TP*ENP
=TP*NTP*ENTP

Type Relations:
=E*N*T*NP
=E*N*P*NT
=E*N*ET*ENP
=E*N*EP*ENT
=E*T*EN*ENP
=E*T*NT*NTP
=E*T*ENT*ENTP
=E*P*EN*ENT
=E*P*NP*NTP
=E*P*ENP*ENTP
=E*EN*ET*NP
=E*EN*EP*NT
=E*ET*NT*ENTP
=E*ET*ENT*NTP
=E*EP*NP*ENTP
=E*EP*ENP*NTP
=N*T*P*EN
=N*T*ET*NTP
=N*T*TP*ENT
=N*P*EP*NTP
=N*P*TP*ENP
=N*EN*ET*EP
=N*EN*NT*NP
=N*EN*ENT*ENP
=N*ET*NT*TP
=N*EP*NP*TP
=N*NT*ENT*NTP
=N*NP*ENP*NTP
=T*P*NT*ENT
=T*P*NP*ENP
=T*P*NTP*ENTP
=T*EN*ET*ENTP
=T*EN*NT*TP
=T*ET*NT*NP
=T*ET*ENT*ENP
=T*NP*TP*ENTP
=T*TP*ENP*NTP
=P*EN*EP*ENTP
=P*EN*NP*TP
=P*EP*NT*NP
=P*EP*ENT*ENP
=P*NT*TP*ENTP
=P*TP*ENT*NTP
=EN*ET*TP*ENT
=EN*EP*TP*ENP
=EN*NT*ENT*ENTP
=EN*NP*ENP*ENTP
=ET*EP*NT*ENT
=ET*EP*NP*ENP
=ET*EP*NTP*ENTP
=ET*NP*TP*NTP
=ET*TP*ENP*ENTP
=EP*NT*TP*NTP
=EP*TP*ENT*ENTP
=NT*NP*NTP*ENTP
=ENT*ENP*NTP*ENTP

NTP
Small Group Relations:
=E*ENTP
=N*TP
=T*NP
=P*NT
=EN*ETP
=ET*ENP
=EP*ENT

=E*N*ETP
=E*T*ENP
=E*P*ENT
=E*EN*TP
=E*ET*NP
=E*EP*NT
=N*T*P
=N*EN*ENTP
=N*ET*EP
=N*NT*NP
=N*ENT*ENP
=T*EN*EP
=T*ET*ENTP
=T*NT*TP
=T*ENT*ETP
=P*EN*ET
=P*EP*ENTP
=P*NP*TP
=P*ENP*ETP
=EN*NT*ENP
=EN*NP*ENT
=ET*NT*ETP
=ET*TP*ENT
=EP*NP*ETP
=EP*TP*ENP
=NT*ENT*ENTP
=NP*ENP*ENTP
=TP*ETP*ENTP

Type Relations:
=E*N*T*EP
=E*N*P*ET
=E*N*NT*ENP
=E*N*NP*ENT
=E*T*P*EN
=E*T*NT*ETP
=E*T*TP*ENT
=E*P*NP*ETP
=E*P*TP*ENP
=E*EN*ET*EP
=E*EN*NT*NP
=E*EN*ENT*ENP
=E*ET*NT*TP
=E*ET*ENT*ETP
=E*EP*NP*TP
=E*EP*ENP*ETP
=N*T*EN*ENP
=N*T*ET*ETP
=N*T*ENT*ENTP
=N*P*EN*ENT
=N*P*EP*ETP
=N*P*ENP*ENTP
=N*EN*ET*NP
=N*EN*EP*NT
=N*ET*NT*ENTP
=N*EP*NP*ENTP
=N*NT*ENT*ETP
=N*NP*ENP*ETP
=T*P*ET*ENT
=T*P*EP*ENP
=T*P*ETP*ENTP
=T*EN*ET*TP
=T*EN*NT*ENTP
=T*ET*EP*NT
=T*EP*TP*ENTP
=T*NT*ENT*ENP
=T*TP*ENP*ETP
=P*EN*EP*TP
=P*EN*NP*ENTP
=P*ET*EP*NP
=P*ET*TP*ENTP
=P*NP*ENT*ENP
=P*TP*ENT*ETP
=EN*ET*ENT*ENTP
=EN*EP*ENP*ENTP
=EN*NT*TP*ENT
=EN*NP*TP*ENP
=ET*EP*ETP*ENTP
=ET*NT*NP*ENT
=ET*NP*TP*ETP
=EP*NT*NP*ENP
=EP*NT*TP*ETP
=NT*NP*ETP*ENTP
=NT*TP*ENP*ENTP
=NP*TP*ENT*ENTP
=ENT*ENP*ETP*ENTP

ENTP
Small Group Relations:
=E*NTP
=N*ETP
=T*ENP
=P*ENT
=EN*TP
=ET*NP
=EP*NT

=E*N*TP
=E*T*NP
=E*P*NT
=E*EN*ETP
=E*ET*ENP
=E*EP*ENT
=N*T*EP
=N*P*ET
=N*EN*NTP
=N*NT*ENP
=N*NP*ENT
=T*P*EN
=T*ET*NTP
=T*NT*ETP
=T*TP*ENT
=P*EP*NTP
=P*NP*ETP
=P*TP*ENP
=EN*ET*EP
=EN*NT*NP
=EN*ENT*ENP
=ET*NT*TP
=ET*ENT*ETP
=EP*NP*TP
=EP*ENP*ETP
=NT*ENT*NTP
=NP*ENP*NTP
=TP*ETP*NTP

Type Relations:
=E*N*T*P
=E*N*ET*EP
=E*N*NT*NP
=E*N*ENT*ENP
=E*T*EN*EP
=E*T*NT*TP
=E*T*ENT*ETP
=E*P*EN*ET
=E*P*NP*TP
=E*P*ENP*ETP
=E*EN*NT*ENP
=E*EN*NP*ENT
=E*ET*NT*ETP
=E*ET*TP*ENT
=E*EP*NP*ETP
=E*EP*TP*ENP
=N*T*EN*NP
=N*T*ET*TP
=N*T*ENT*NTP
=N*P*EN*NT
=N*P*EP*TP
=N*P*ENP*NTP
=N*EN*ET*ENP
=N*EN*EP*ENT
=N*ET*NT*NTP
=N*EP*NP*NTP
=N*NT*TP*ENT
=N*NP*TP*ENP
=T*P*ET*NT
=T*P*EP*NP
=T*P*ETP*NTP
=T*EN*ET*ETP
=T*EN*NT*NTP
=T*ET*EP*ENT
=T*EP*TP*NTP
=T*NT*NP*ENT
=T*NP*TP*ETP
=P*EN*EP*ETP
=P*EN*NP*NTP
=P*ET*EP*ENP
=P*ET*TP*NTP
=P*NT*NP*ENP
=P*NT*TP*ETP
=EN*ET*ENT*NTP
=EN*EP*ENP*NTP
=EN*NT*ENT*ETP
=EN*NP*ENP*ETP
=ET*EP*ETP*NTP
=ET*NT*ENT*ENP
=ET*TP*ENP*ETP
=EP*NP*ENT*ENP
=EP*TP*ENT*ETP
=NT*NP*ETP*NTP
=NT*TP*ENP*NTP
=NP*TP*ENT*NTP
=ENT*ENP*ETP*NTP
Now I just have to figure out how to factor in information metabolism and the higher order objects, like small groups, dyads and types. I might also want to put things in both positive and negative terms, like someone who is an introvert necessarily is not and extrovert.

2. Right
Click
​..+
Loop
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.

3. ## Program name

Thanks so much for creating these diagrams and all the information. I am using this extensively! Can you please tell what is the name program you used for creating the pyramid which are on youtube videos? Thanks in advance!

4. Originally Posted by Elstner
Thanks so much for creating these diagrams and all the information. I am using this extensively! Can you please tell what is the name program you used for creating the pyramid which are on youtube videos? Thanks in advance!
Thanks! I put in all the work just for people like you <3

I used 3DS MAX for the modeling and rendering (series of individual .png images), and VEGAS 14 for compiling the image sequences into 60fps HD video. If you have a student email, you have access to all autodesk products, but if you've never used a 3d modeling program, 3DS MAX has a steep learning curve. Adobe After Effects is the industry standard program for post processing, I'm just using VEGAS 14 because I got it for \$20 in a humble bundle.

...Unless you're also talking about the graphics in the article and excel program lol, I made those with the shape tools in word and excel ;.D

5. I ran 20,000 random trials through my dichotomy analyzer algorithm and got this very narrow distribution curve. The harmony score, which measures how well the inputed traits theoretically agree with each other, can range from -35 to +91. In most science, 5% error is the gold standard for research, which translates to any score between +2.2 to +91. If I rate myself with the reinin dichotomies, I get a score of +35, which is well outside the random range.

I look forward to eventually putting together a test and applying this algorithm to see how the actual scores differ from purely random scores. If it is well outside the random range, it is empirical proof that the test, and by extension socionics, works.

Full Range (bin size .5):
Harmony Score Histogram Full Range.jpg

Zoomed on peak (bin size is .1):
Average Score distribution.jpg

Page 2 of 2 First 12