tensor.f#
These are the subroutines in tensor.f.
Subroutines and functions
- subroutine cp_setup()#
- Called from:
- Call to:
read_serial(),force_skew(),set_c_slice(),set_c_core(),compute_cp(),read_cp_weight(),read_cp_mode(),set_rank(),rand_initial(),als_quad(),als_core(),als(),check_conv_err(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),compute_relerr(),check_normalize(),read_mat_serial(),case1_tensor(),case2_tensor()
- subroutine compute_cp(cp_a, cp_b, cp_c, cp_w, cl, cl0, cj0, c0k, fname, uu)#
- Parameters:
cp_a (ltr + ltr * nb) [real]
cp_b (ltr + ltr * nb) [real]
cp_c (ltr + ltr * nb) [real]
cp_w (ltr) [real]
cl (lcglo) [real]
cl0 (lcglo) [real]
cj0 (nb * *2 + *2) [real] ::
c0k (nb * *2 + *2) [real] ::
fname [character]
uu (1 + nb) [real]
- Called from:
- Call to:
set_rank(),rand_initial(),als_quad(),als_core(),als(),check_conv_err(),read_cp_weight(),read_cp_mode(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),compute_relerr(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor()
- subroutine set_rank(rank_list, mm)#
- Parameters:
rank_list (2,ltr) [integer] :: return location
mm [integer]
- Called from:
- Call to:
set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial(),compute_relerr(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor()
- subroutine als(cp_a, cp_b, cp_c, cp_w, cl, ic1, ic2, jc1, jc2, kc1, kc2, mm, nn)#
- Parameters:
cp_a (mm * nn) [real]
cp_b (mm * nn) [real]
cp_c (mm * nn) [real]
cp_w (nn) [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
mm [integer,in,required]
nn [integer,in,required]
- Called from:
- Call to:
set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial(),compute_relerr(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor()
- subroutine check_conv_err(cu_err, cl, fac_a, fac_b, fac_c, cp_w, uu, ic1, ic2, jc1, jc2, kc1, kc2, mm, nn, ifcore, cj0, c0k)#
- Parameters:
cu_err [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
fac_a (mm * nn) [real]
fac_b (mm * nn) [real]
fac_c (mm * nn) [real]
cp_w (nn) [real]
uu (mm) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
mm [integer,in,required]
nn [integer,in,required]
ifcore [logical]
cj0 (1 - ic1 + ic2,1 - jc1 + jc2) [real]
c0k (1 - ic1 + ic2,1 - kc1 + kc2) [real]
- Called from:
- Call to:
rand_initial(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_relerr(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),compute_residual()
- subroutine check_conv_err_old(cu_err, cl, fac_a, fac_b, fac_c, cp_w, uu)#
- Parameters:
cu_err [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
fac_a (ntr + nb * ntr) [real]
fac_b (ntr + nb * ntr) [real]
fac_c (ntr + nb * ntr) [real]
cp_w (ntr) [real]
uu (1 + nb) [real]
- Call to:
rand_initial(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_relerr(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),compute_residual()
- subroutine cp_als_old(cl, mm, nn)#
- Parameters:
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
mm [integer]
nn [integer]
- Call to:
rand_initial(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_relerr(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),compute_residual()
- subroutine mttkrp(lsr, cl, cm, cm2, ic1, ic2, jc1, jc2, kc1, kc2, fcm, mm, nn, mode)#
- Parameters:
lsr (mm * nn) [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
cm (1 - ic1 + ic2,1 - jc1 + jc2,nn) [real]
cm2 (1 - ic1 + ic2,nn,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
fcm (mm * nn,3) [real]
mm [integer,in,required]
nn [integer,in,required]
mode [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine set_lsm(lsm, fcmpm, mode, nn)#
- Parameters:
lsm (nn * nn,3) [real]
fcmpm (nn * nn,3) [real]
mode [integer]
nn [integer,in,required]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine compute_relerr(relerr, lsr, fcm, lsm, fcmpm, cp_weight, norm_c, norm_c0, mm, nn)#
- Parameters:
relerr [real]
lsr (mm,nn) [real]
fcm (mm,nn) [real]
lsm (nn,nn) [real]
fcmpm (nn,nn) [real]
cp_weight (nn) [real]
norm_c [real]
norm_c0 [real]
mm [integer]
nn [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine compute_residual(residual, lsr, fcm, lsm, fcmpm, cp_weight, norm_tens, mm, nn)#
- Parameters:
residual [real]
lsr (mm,nn) [real]
fcm (mm,nn) [real]
lsm (nn,nn) [real]
fcmpm (nn,nn) [real]
cp_weight (nn) [real]
norm_tens [real]
mm [integer]
nn [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine compute_cp_weight(cp_weight, aa, m, n)#
- Parameters:
cp_weight (n) [real]
aa (m,n) [real]
m [integer]
n [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine mode_normalize(aa, m, n)#
- Parameters:
aa (m,n) [real]
m [integer]
n [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine rand_initial(fcm, mm, nn)#
- Parameters:
fcm (mm * nn) [real]
mm [integer,in,required]
nn [integer,in,required]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
mode_normalize(),check_normalize(),read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),compute_residual(),rand_initial()
- subroutine check_normalize(aa, m, n)#
- Parameters:
aa (m,n) [real]
m [integer]
n [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial()- Call to:
read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial()
- subroutine set_product_matrix(bb, aa, m, n)#
- Parameters:
bb (n,n) [real]
aa (m,n) [real]
m [integer]
n [integer]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor(),als_core(),set_c_slice(),set_c_core(),als_quad()- Call to:
read_serial(),read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial()
- subroutine read_cp_weight()#
- subroutine read_cp_mode()#
- Called from:
- Call to:
read_mat_serial(),case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial()
- subroutine case1_tensor(tensor_1)#
- Parameters:
tensor_1 (2,2,2) [real]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor()- Call to:
case1_tensor(),case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial()
- subroutine case2_tensor(tensor_1)#
- Parameters:
tensor_1 (3,4,4) [real]
- Called from:
cp_setup(),compute_cp(),set_rank(),als(),check_conv_err(),check_conv_err_old(),cp_als_old(),mttkrp(),set_lsm(),compute_relerr(),compute_residual(),compute_cp_weight(),mode_normalize(),rand_initial(),check_normalize(),set_product_matrix(),read_cp_weight(),read_cp_mode(),case1_tensor(),case2_tensor()- Call to:
case2_tensor(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial()
- subroutine als_core(cp_a, cp_b, cp_c, cp_w, cl, ic1, ic2, jc1, jc2, kc1, kc2, mm, nn)#
- Parameters:
cp_a (mm * nn) [real]
cp_b (mm * nn) [real]
cp_c (mm * nn) [real]
cp_w (nn) [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
mm [integer,in,required]
nn [integer,in,required]
- Called from:
- Call to:
set_product_matrix(),mttkrp(),set_lsm(),invmat(),compute_cp_weight(),mode_normalize(),compute_residual(),rand_initial()
- subroutine set_c_slice(cj0, c0k, cl, ic1, ic2, jc1, jc2, kc1, kc2, nb)#
- Parameters:
cj0 (1 - ic1 + ic2,1 - jc1 + jc2) [real]
c0k (1 - ic1 + ic2,1 - kc1 + kc2) [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
nb [integer]
- Called from:
- Call to:
rand_initial(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),mode_normalize(),compute_cp_weight(),compute_residual()
- subroutine set_c_core(cl0, cl, ic1, ic2, jc1, jc2, kc1, kc2, nb)#
- Parameters:
cl0 (1 - ic1 + ic2,-jc1 + jc2,-kc1 + kc2) [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
nb [integer]
- Called from:
- Call to:
rand_initial(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),mode_normalize(),compute_cp_weight(),compute_residual()
- subroutine als_quad(cp_a, cp_b, cp_c, cp_w, cl, ic1, ic2, jc1, jc2, kc1, kc2, mm, nn)#
- Parameters:
cp_a (mm * nn) [real]
cp_b (mm * nn) [real]
cp_c (mm * nn) [real]
cp_w (nn) [real]
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
mm [integer,in,required]
nn [integer,in,required]
- Called from:
- Call to:
rand_initial(),set_product_matrix(),mttkrp(),set_lsm(),invmat(),mode_normalize(),compute_cp_weight(),compute_residual()
- subroutine force_skew(cl, ic1, ic2, jc1, jc2, kc1, kc2)#
- Parameters:
cl (1 - ic1 + ic2,1 - jc1 + jc2,1 - kc1 + kc2) [real]
ic1 [integer,in,required]
ic2 [integer,in,required]
jc1 [integer,in,required]
jc2 [integer,in,required]
kc1 [integer,in,required]
kc2 [integer,in,required]
- Called from: