Skip to content

Commit

Permalink
Can now do multiple matrix vector products with MATRIX_TIMES_VECTOR
Browse files Browse the repository at this point in the history
The ability to multiply multiple matrices by a single vector or a single matrix by multiple
vectors is useful when you calculate Steinhardt parameters.  Previously I used multiple
MATRIX_VECTOR_PRODUCT actions to do all these operations.  When implemented this way, however,
there is some additional computational overhead.  By allowing all the matrix vector multiplications
to take place in a single action you reduce the computational expense.
  • Loading branch information
Gareth Aneurin Tribello authored and Gareth Aneurin Tribello committed Sep 13, 2023
1 parent cf2647a commit 78b5b85
Show file tree
Hide file tree
Showing 23 changed files with 223 additions and 318 deletions.
12 changes: 6 additions & 6 deletions regtest/symfunc/rt-cmap-times-stack/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

q1_rmn-n1: CUSTOM ARG=q1_rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_im-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-n1: CUSTOM ARG=q1_sp.rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_sp.im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_sp.rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_sp.im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_sp.rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_sp.im-p1,q1_denom FUNC=x/y PERIODIC=NO

w1_vstack: VSTACK ARG=q1_rmn-n1,q1_imn-n1,q1_rmn-0,q1_imn-0,q1_rmn-p1,q1_imn-p1
cmat: CONTACT_MATRIX GROUP=1,2 SWITCH={RATIONAL D_0=3.0 R_0=1.5}
Expand Down
52 changes: 26 additions & 26 deletions regtest/symfunc/rt-dumpmulti/plumed.dat
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@ DUMPATOMS ARG=c ATOMS=c FILE=coordination.xyz PRECISION=4

q6: Q6 SPECIES=1-64 D_0=3.0 R_0=1.5 NN=12 MM=24

q6n_rmn-[-6]: CUSTOM ARG1=q6_rm-n6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-5]: CUSTOM ARG1=q6_rm-n5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-4]: CUSTOM ARG1=q6_rm-n4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-3]: CUSTOM ARG1=q6_rm-n3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-2]: CUSTOM ARG1=q6_rm-n2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-1]: CUSTOM ARG1=q6_rm-n1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[0]: CUSTOM ARG1=q6_rm-0 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[1]: CUSTOM ARG1=q6_rm-p1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[2]: CUSTOM ARG1=q6_rm-p2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[3]: CUSTOM ARG1=q6_rm-p3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[4]: CUSTOM ARG1=q6_rm-p4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[5]: CUSTOM ARG1=q6_rm-p5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[6]: CUSTOM ARG1=q6_rm-p6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-6]: CUSTOM ARG1=q6_im-n6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-5]: CUSTOM ARG1=q6_im-n5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-4]: CUSTOM ARG1=q6_im-n4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-3]: CUSTOM ARG1=q6_im-n3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-2]: CUSTOM ARG1=q6_im-n2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-1]: CUSTOM ARG1=q6_im-n1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[0]: CUSTOM ARG1=q6_im-0 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[1]: CUSTOM ARG1=q6_im-p1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[2]: CUSTOM ARG1=q6_im-p2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[3]: CUSTOM ARG1=q6_im-p3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[4]: CUSTOM ARG1=q6_im-p4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[5]: CUSTOM ARG1=q6_im-p5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[6]: CUSTOM ARG1=q6_im-p6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-6]: CUSTOM ARG1=q6_sp.rm-n6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-5]: CUSTOM ARG1=q6_sp.rm-n5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-4]: CUSTOM ARG1=q6_sp.rm-n4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-3]: CUSTOM ARG1=q6_sp.rm-n3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-2]: CUSTOM ARG1=q6_sp.rm-n2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[-1]: CUSTOM ARG1=q6_sp.rm-n1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[0]: CUSTOM ARG1=q6_sp.rm-0 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[1]: CUSTOM ARG1=q6_sp.rm-p1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[2]: CUSTOM ARG1=q6_sp.rm-p2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[3]: CUSTOM ARG1=q6_sp.rm-p3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[4]: CUSTOM ARG1=q6_sp.rm-p4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[5]: CUSTOM ARG1=q6_sp.rm-p5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_rmn-[6]: CUSTOM ARG1=q6_sp.rm-p6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-6]: CUSTOM ARG1=q6_sp.im-n6 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-5]: CUSTOM ARG1=q6_sp.im-n5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-4]: CUSTOM ARG1=q6_sp.im-n4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-3]: CUSTOM ARG1=q6_sp.im-n3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-2]: CUSTOM ARG1=q6_sp.im-n2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[-1]: CUSTOM ARG1=q6_sp.im-n1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[0]: CUSTOM ARG1=q6_sp.im-0 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[1]: CUSTOM ARG1=q6_sp.im-p1 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[2]: CUSTOM ARG1=q6_sp.im-p2 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[3]: CUSTOM ARG1=q6_sp.im-p3 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[4]: CUSTOM ARG1=q6_sp.im-p4 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[5]: CUSTOM ARG1=q6_sp.im-p5 ARG2=q6_norm FUNC=x/y PERIODIC=NO
q6n_imn-[6]: CUSTOM ARG1=q6_sp.im-p6 ARG2=q6_norm FUNC=x/y PERIODIC=NO

DUMPATOMS ATOMS=q6 ARG=q6_anorm,q6n_rmn-[-6],q6n_rmn-[-5],q6n_rmn-[-4],q6n_rmn-[-3],q6n_rmn-[-2],q6n_rmn-[-1],q6n_rmn-[0],q6n_rmn-[1],q6n_rmn-[2],q6n_rmn-[3],q6n_rmn-[4],q6n_rmn-[5],q6n_rmn-[6],q6n_imn-[-6],q6n_imn-[-5],q6n_imn-[-4],q6n_imn-[-3],q6n_imn-[-2],q6n_imn-[-1],q6n_imn-[0],q6n_imn-[1],q6n_imn-[2],q6n_imn-[3],q6n_imn-[4],q6n_imn-[5],q6n_imn-[6] FILE=q6.xyz PRECISION=4

Expand Down
36 changes: 18 additions & 18 deletions regtest/symfunc/rt-matrix-tricks/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
q4: Q4 SPECIES=1-64 D_0=3.0 R_0=1.5 NN=12 MEAN

nq4_rm-n4: CUSTOM ARG=q4_rm-n4,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n4: CUSTOM ARG=q4_im-n4,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n3: CUSTOM ARG=q4_rm-n3,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n3: CUSTOM ARG=q4_im-n3,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n2: CUSTOM ARG=q4_rm-n2,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n2: CUSTOM ARG=q4_im-n2,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n1: CUSTOM ARG=q4_rm-n1,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n1: CUSTOM ARG=q4_im-n1,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-0: CUSTOM ARG=q4_rm-0,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-0: CUSTOM ARG=q4_im-0,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p1: CUSTOM ARG=q4_rm-p1,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p1: CUSTOM ARG=q4_im-p1,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p2: CUSTOM ARG=q4_rm-p2,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p2: CUSTOM ARG=q4_im-p2,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p3: CUSTOM ARG=q4_rm-p3,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p3: CUSTOM ARG=q4_im-p3,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p4: CUSTOM ARG=q4_rm-p4,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p4: CUSTOM ARG=q4_im-p4,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n4: CUSTOM ARG=q4_sp.rm-n4,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n4: CUSTOM ARG=q4_sp.im-n4,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n3: CUSTOM ARG=q4_sp.rm-n3,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n3: CUSTOM ARG=q4_sp.im-n3,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n2: CUSTOM ARG=q4_sp.rm-n2,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n2: CUSTOM ARG=q4_sp.im-n2,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-n1: CUSTOM ARG=q4_sp.rm-n1,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-n1: CUSTOM ARG=q4_sp.im-n1,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-0: CUSTOM ARG=q4_sp.rm-0,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-0: CUSTOM ARG=q4_sp.im-0,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p1: CUSTOM ARG=q4_sp.rm-p1,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p1: CUSTOM ARG=q4_sp.im-p1,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p2: CUSTOM ARG=q4_sp.rm-p2,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p2: CUSTOM ARG=q4_sp.im-p2,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p3: CUSTOM ARG=q4_sp.rm-p3,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p3: CUSTOM ARG=q4_sp.im-p3,q4_norm FUNC=x/y PERIODIC=NO
nq4_rm-p4: CUSTOM ARG=q4_sp.rm-p4,q4_norm FUNC=x/y PERIODIC=NO
nq4_im-p4: CUSTOM ARG=q4_sp.im-p4,q4_norm FUNC=x/y PERIODIC=NO

data4: VSTACK ARG=nq4_rm-n4,nq4_im-n4,nq4_rm-n3,nq4_im-n3,nq4_rm-n2,nq4_im-n2,nq4_rm-n1,nq4_im-n1,nq4_rm-0,nq4_im-0,nq4_rm-p1,nq4_im-p1,nq4_rm-p2,nq4_im-p2,nq4_rm-p3,nq4_im-p3,nq4_rm-p4,nq4_im-p4

Expand Down
2 changes: 1 addition & 1 deletion regtest/symfunc/rt-nbonds-one-q6/plumed.dat
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ q6: Q6 SPECIES=1-64 D_0=3.0 R_0=1.5 NN=12 MEAN
# Create a normalising matrix
q6_uones: ONES SIZE=26
q6_nmat: OUTER_PRODUCT ARG=q6_norm,q6_uones
udata6: VSTACK ARG=q6_rm-n6,q6_im-n6,q6_rm-n5,q6_im-n5,q6_rm-n4,q6_im-n4,q6_rm-n3,q6_im-n3,q6_rm-n2,q6_im-n2,q6_rm-n1,q6_im-n1,q6_rm-0,q6_im-0,q6_rm-p1,q6_im-p1,q6_rm-p2,q6_im-p2,q6_rm-p3,q6_im-p3,q6_rm-p4,q6_im-p4,q6_rm-p5,q6_im-p5,q6_rm-p6,q6_im-p6
udata6: VSTACK ARG=q6_sp.*
data6: CUSTOM ARG=udata6,q6_nmat FUNC=x/y PERIODIC=NO
data6T: TRANSPOSE ARG=data6

Expand Down
4 changes: 2 additions & 2 deletions regtest/symfunc/rt-nbonds-q6/plumed.dat
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ q4: Q4 SPECIES=1-64 D_0=3.0 R_0=1.5 NN=12 MEAN
# Create a normalising matrix
q6_uones: ONES SIZE=26
q6_nmat: OUTER_PRODUCT ARG=q6_norm,q6_uones
udata6: VSTACK ARG=q6_rm-n6,q6_im-n6,q6_rm-n5,q6_im-n5,q6_rm-n4,q6_im-n4,q6_rm-n3,q6_im-n3,q6_rm-n2,q6_im-n2,q6_rm-n1,q6_im-n1,q6_rm-0,q6_im-0,q6_rm-p1,q6_im-p1,q6_rm-p2,q6_im-p2,q6_rm-p3,q6_im-p3,q6_rm-p4,q6_im-p4,q6_rm-p5,q6_im-p5,q6_rm-p6,q6_im-p6
udata6: VSTACK ARG=q6_sp.*
data6: CUSTOM ARG=udata6,q6_nmat FUNC=x/y PERIODIC=NO
data6T: TRANSPOSE ARG=data6

# Create a normalising matrix
q4_uones: ONES SIZE=18
q4_nmat: OUTER_PRODUCT ARG=q4_norm,q4_uones
udata4: VSTACK ARG=q4_rm-n4,q4_im-n4,q4_rm-n3,q4_im-n3,q4_rm-n2,q4_im-n2,q4_rm-n1,q4_im-n1,q4_rm-0,q4_im-0,q4_rm-p1,q4_im-p1,q4_rm-p2,q4_im-p2,q4_rm-p3,q4_im-p3,q4_rm-p4,q4_im-p4
udata4: VSTACK ARG=q4_sp.*
data4: CUSTOM ARG=udata4,q4_nmat FUNC=x/y PERIODIC=NO
data4T: TRANSPOSE ARG=data4

Expand Down
12 changes: 6 additions & 6 deletions regtest/symfunc/rt-ntwo-lq6/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

norm_q1_rm-n1: CUSTOM ARG=q1_rm-n1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_im-n1: CUSTOM ARG=q1_im-n1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_rm-0: CUSTOM ARG=q1_rm-0,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_im-0: CUSTOM ARG=q1_im-0,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_rm-p1: CUSTOM ARG=q1_rm-p1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_im-p1: CUSTOM ARG=q1_im-p1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_rm-n1: CUSTOM ARG=q1_sp.rm-n1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_im-n1: CUSTOM ARG=q1_sp.im-n1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_rm-0: CUSTOM ARG=q1_sp.rm-0,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_im-0: CUSTOM ARG=q1_sp.im-0,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_rm-p1: CUSTOM ARG=q1_sp.rm-p1,q1_norm FUNC=x/y PERIODIC=NO
norm_q1_im-p1: CUSTOM ARG=q1_sp.im-p1,q1_norm FUNC=x/y PERIODIC=NO

dd: VSTACK ARG=norm_q1_rm-n1,norm_q1_im-n1,norm_q1_rm-0,norm_q1_im-0,norm_q1_rm-p1,norm_q1_im-p1

Expand Down
4 changes: 2 additions & 2 deletions regtest/symfunc/rt-small-lq6/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
q1a: Q1 SPECIESA=1 SPECIESB=2-64 D_0=3.0 R_0=1.5 NN=12 SUM
q1b: Q1 SPECIESA=2 SPECIESB=1,3-64 D_0=3.0 R_0=1.5 NN=12 SUM

ddA: VSTACK ARG=q1a_rm-n1,q1a_im-n1,q1a_rm-0,q1a_im-0,q1a_rm-p1,q1a_im-p1
ddBT: VSTACK ARG=q1b_rm-n1,q1b_im-n1,q1b_rm-0,q1b_im-0,q1b_rm-p1,q1b_im-p1
ddA: VSTACK ARG=q1a_sp.rm-n1,q1a_sp.im-n1,q1a_sp.rm-0,q1a_sp.im-0,q1a_sp.rm-p1,q1a_sp.im-p1
ddBT: VSTACK ARG=q1b_sp.rm-n1,q1b_sp.im-n1,q1b_sp.rm-0,q1b_sp.im-0,q1b_sp.rm-p1,q1b_sp.im-p1
ddB: TRANSPOSE ARG=ddBT

con: CONTACT_MATRIX GROUPA=q1a GROUPB=q1b SWITCH={RATIONAL R_0=4}
Expand Down
4 changes: 2 additions & 2 deletions regtest/symfunc/rt-small-q6/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
q1a: Q1 SPECIESA=1 SPECIESB=2-64 D_0=3.0 R_0=1.5 NN=12 SUM
q1b: Q1 SPECIESA=2 SPECIESB=1,3-64 D_0=3.0 R_0=1.5 NN=12 SUM

ddA: VSTACK ARG=q1a_rm-n1,q1a_im-n1,q1a_rm-0,q1a_im-0,q1a_rm-p1,q1a_im-p1
ddA: VSTACK ARG=q1a_sp.rm-n1,q1a_sp.im-n1,q1a_sp.rm-0,q1a_sp.im-0,q1a_sp.rm-p1,q1a_sp.im-p1

ddBT: VSTACK ARG=q1b_rm-n1,q1b_im-n1,q1b_rm-0,q1b_im-0,q1b_rm-p1,q1b_im-p1
ddBT: VSTACK ARG=q1b_sp.rm-n1,q1b_sp.im-n1,q1b_sp.rm-0,q1b_sp.im-0,q1b_sp.rm-p1,q1b_sp.im-p1
ddB: TRANSPOSE ARG=ddBT

dd: MATRIX_VECTOR_PRODUCT ARG=ddA,ddB
Expand Down
12 changes: 6 additions & 6 deletions regtest/symfunc/rt-two-coord-stack-mult-q1-av/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

q1_rmn-n1: CUSTOM ARG=q1_rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_im-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-n1: CUSTOM ARG=q1_sp.rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_sp.im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_sp.rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_sp.im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_sp.rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_sp.im-p1,q1_denom FUNC=x/y PERIODIC=NO

w1_vstack: VSTACK ARG=q1_rmn-n1,q1_imn-n1,q1_rmn-0,q1_imn-0,q1_rmn-p1,q1_imn-p1

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

q1_rmn-n1: CUSTOM ARG=q1_rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_im-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-n1: CUSTOM ARG=q1_sp.rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_sp.im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_sp.rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_sp.im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_sp.rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_sp.im-p1,q1_denom FUNC=x/y PERIODIC=NO

w1_vstack: VSTACK ARG=q1_rmn-n1,q1_imn-n1,q1_rmn-0,q1_imn-0,q1_rmn-p1,q1_imn-p1

Expand Down
12 changes: 6 additions & 6 deletions regtest/symfunc/rt-two-coord-stack-mult-q1-withnorm/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

q1_rmn-n1: CUSTOM ARG=q1_rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_im-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-n1: CUSTOM ARG=q1_sp.rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_sp.im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_sp.rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_sp.im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_sp.rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_sp.im-p1,q1_denom FUNC=x/y PERIODIC=NO

w1_vstack: VSTACK ARG=q1_rmn-n1,q1_imn-n1,q1_rmn-0,q1_imn-0,q1_rmn-p1,q1_imn-p1
cmat: CONTACT_MATRIX GROUP=1,2 SWITCH={RATIONAL D_0=3.0 R_0=1.5}
Expand Down
12 changes: 6 additions & 6 deletions regtest/symfunc/rt-two-coord-stack-mult-q1/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

q1_rmn-n1: CUSTOM ARG=q1_rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_im-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-n1: CUSTOM ARG=q1_sp.rm-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-n1: CUSTOM ARG=q1_sp.im-n1,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-0: CUSTOM ARG=q1_sp.rm-0,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-0: CUSTOM ARG=q1_sp.im-0,q1_denom FUNC=x/y PERIODIC=NO
q1_rmn-p1: CUSTOM ARG=q1_sp.rm-p1,q1_denom FUNC=x/y PERIODIC=NO
q1_imn-p1: CUSTOM ARG=q1_sp.im-p1,q1_denom FUNC=x/y PERIODIC=NO

w1_vstack: VSTACK ARG=q1_rmn-n1,q1_imn-n1,q1_rmn-0,q1_imn-0,q1_rmn-p1,q1_imn-p1
cmat: CONTACT_MATRIX GROUP=1,2 SWITCH={RATIONAL D_0=3.0 R_0=1.5}
Expand Down
2 changes: 1 addition & 1 deletion regtest/symfunc/rt-two-lq1/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

ddAu: VSTACK ARG=q1_rm-n1,q1_im-n1,q1_rm-0,q1_im-0,q1_rm-p1,q1_im-p1
ddAu: VSTACK ARG=q1_sp.rm-n1,q1_sp.im-n1,q1_sp.rm-0,q1_sp.im-0,q1_sp.rm-p1,q1_sp.im-p1

tlo: ONES SIZE=6
nsta: OUTER_PRODUCT ARG=q1_norm,tlo
Expand Down
2 changes: 1 addition & 1 deletion regtest/symfunc/rt-two-lq6/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

ddA: VSTACK ARG=q1_rm-n1,q1_im-n1,q1_rm-0,q1_im-0,q1_rm-p1,q1_im-p1
ddA: VSTACK ARG=q1_sp.rm-n1,q1_sp.im-n1,q1_sp.rm-0,q1_sp.im-0,q1_sp.rm-p1,q1_sp.im-p1

ddT: TRANSPOSE ARG=ddA

Expand Down
2 changes: 1 addition & 1 deletion regtest/symfunc/rt-two-nonorm/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

ddAu: VSTACK ARG=q1_rm-n1,q1_im-n1,q1_rm-0,q1_im-0,q1_rm-p1,q1_im-p1
ddAu: VSTACK ARG=q1_sp.rm-n1,q1_sp.im-n1,q1_sp.rm-0,q1_sp.im-0,q1_sp.rm-p1,q1_sp.im-p1

tlo: ONES SIZE=6
nsta: OUTER_PRODUCT ARG=q1_norm,tlo
Expand Down
2 changes: 1 addition & 1 deletion regtest/symfunc/rt-two-norm/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

ddAu: VSTACK ARG=q1_rm-n1,q1_im-n1,q1_rm-0,q1_im-0,q1_rm-p1,q1_im-p1
ddAu: VSTACK ARG=q1_sp.rm-n1,q1_sp.im-n1,q1_sp.rm-0,q1_sp.im-0,q1_sp.rm-p1,q1_sp.im-p1

tlo: ONES SIZE=6
nsta: OUTER_PRODUCT ARG=q1_norm,tlo
Expand Down
2 changes: 1 addition & 1 deletion regtest/symfunc/rt-two-q6/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
q1: Q1 SPECIESA=1,2 SPECIESB=1-64 D_0=3.0 R_0=1.5 NN=12 SUM

dda: VSTACK ARG=q1_rm-n1,q1_im-n1,q1_rm-0,q1_im-0,q1_rm-p1,q1_im-p1
dda: VSTACK ARG=q1_sp.rm-n1,q1_sp.im-n1,q1_sp.rm-0,q1_sp.im-0,q1_sp.rm-p1,q1_sp.im-p1

ddT: TRANSPOSE ARG=dda
dd: MATRIX_PRODUCT ARG=dda,ddT
Expand Down
52 changes: 26 additions & 26 deletions regtest/volumes/rt-volume/plumed.dat
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
q6: Q6 SPECIES=1-64 SWITCH={RATIONAL D_0=3.0 R_0=1.5}

q6_rmn-n6: CUSTOM ARG=q6_rm-n6,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n6: CUSTOM ARG=q6_im-n6,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n5: CUSTOM ARG=q6_rm-n5,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n5: CUSTOM ARG=q6_im-n5,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n4: CUSTOM ARG=q6_rm-n4,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n4: CUSTOM ARG=q6_im-n4,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n3: CUSTOM ARG=q6_rm-n3,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n3: CUSTOM ARG=q6_im-n3,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n2: CUSTOM ARG=q6_rm-n2,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n2: CUSTOM ARG=q6_im-n2,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n1: CUSTOM ARG=q6_rm-n1,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n1: CUSTOM ARG=q6_im-n1,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-0: CUSTOM ARG=q6_rm-0,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-0: CUSTOM ARG=q6_im-0,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p1: CUSTOM ARG=q6_rm-p1,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p1: CUSTOM ARG=q6_im-p1,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p2: CUSTOM ARG=q6_rm-p2,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p2: CUSTOM ARG=q6_im-p2,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p3: CUSTOM ARG=q6_rm-p3,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p3: CUSTOM ARG=q6_im-p3,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p4: CUSTOM ARG=q6_rm-p4,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p4: CUSTOM ARG=q6_im-p4,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p5: CUSTOM ARG=q6_rm-p5,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p5: CUSTOM ARG=q6_im-p5,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p6: CUSTOM ARG=q6_rm-p6,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p6: CUSTOM ARG=q6_im-p6,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n6: CUSTOM ARG=q6_sp.rm-n6,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n6: CUSTOM ARG=q6_sp.im-n6,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n5: CUSTOM ARG=q6_sp.rm-n5,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n5: CUSTOM ARG=q6_sp.im-n5,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n4: CUSTOM ARG=q6_sp.rm-n4,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n4: CUSTOM ARG=q6_sp.im-n4,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n3: CUSTOM ARG=q6_sp.rm-n3,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n3: CUSTOM ARG=q6_sp.im-n3,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n2: CUSTOM ARG=q6_sp.rm-n2,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n2: CUSTOM ARG=q6_sp.im-n2,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-n1: CUSTOM ARG=q6_sp.rm-n1,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-n1: CUSTOM ARG=q6_sp.im-n1,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-0: CUSTOM ARG=q6_sp.rm-0,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-0: CUSTOM ARG=q6_sp.im-0,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p1: CUSTOM ARG=q6_sp.rm-p1,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p1: CUSTOM ARG=q6_sp.im-p1,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p2: CUSTOM ARG=q6_sp.rm-p2,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p2: CUSTOM ARG=q6_sp.im-p2,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p3: CUSTOM ARG=q6_sp.rm-p3,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p3: CUSTOM ARG=q6_sp.im-p3,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p4: CUSTOM ARG=q6_sp.rm-p4,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p4: CUSTOM ARG=q6_sp.im-p4,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p5: CUSTOM ARG=q6_sp.rm-p5,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p5: CUSTOM ARG=q6_sp.im-p5,q6_denom FUNC=x/y PERIODIC=NO
q6_rmn-p6: CUSTOM ARG=q6_sp.rm-p6,q6_denom FUNC=x/y PERIODIC=NO
q6_imn-p6: CUSTOM ARG=q6_sp.im-p6,q6_denom FUNC=x/y PERIODIC=NO

# Create a matrix to hold all the data
data6: VSTACK ARG=q6_rmn-n6,q6_imn-n6,q6_rmn-n5,q6_imn-n5,q6_rmn-n4,q6_imn-n4,q6_rmn-n3,q6_imn-n3,q6_rmn-n2,q6_imn-n2,q6_rmn-n1,q6_imn-n1,q6_rmn-0,q6_imn-0,q6_rmn-p1,q6_imn-p1,q6_rmn-p2,q6_imn-p2,q6_rmn-p3,q6_imn-p3,q6_rmn-p4,q6_imn-p4,q6_rmn-p5,q6_imn-p5,q6_rmn-p6,q6_imn-p6
Expand Down
Loading

0 comments on commit 78b5b85

Please sign in to comment.