cMISC_utilities.f90 File Reference

Modules

module  c_misc_utilities
 

Functions/Subroutines

real(kind=8) function c_misc_utilities::c_seq_wtime ()
 
subroutine c_misc_utilities::c_linspacei (startI, endI, N, array)
 
subroutine c_misc_utilities::c_copysubmat_assumeshape (A, B, m, n, trans)
 
subroutine c_misc_utilities::c_copysubmat (A, ais, ajs, B, bis, bjs, m, n, trans)
 
subroutine c_misc_utilities::c_copymatt (A, B, m, n)
 
logical function c_misc_utilities::c_myisnan (a)
 
logical function c_misc_utilities::c_isnanmat (A, m, n)
 
subroutine c_misc_utilities::c_lr_recompression (matU, matV, Singular, M, N, rmax, rank, SVD_tolerance, Flops)
 
subroutine c_misc_utilities::c_lr_add (chara, U1, V1, U2, V2, rank1, rank2, ranknew, matU, matV, M, N, SVD_tolerance, flops)
 
subroutine c_misc_utilities::c_lr_add_aca (matU, matV, rankmax_r, rankmax_c, rmax, rank, tolerance, SVD_tolerance, error, flops)
 
subroutine c_misc_utilities::c_lr_fnormup (matU, matV, M, N, rskip, ruv, rup, ldV, normUV, normUVupdate, tolerance, Flops)
 
subroutine c_misc_utilities::c_lr_fnorm (matU, matV, M, N, rmax, norm, tolerance, Flops)
 
subroutine c_misc_utilities::c_getrank (M, N, mat, rank, eps, flop)
 
subroutine c_misc_utilities::c_pcomputerange (M_p, N, mat, rank, eps, ptree, pgno, Flops, norm_tol)
 
subroutine c_misc_utilities::c_computerange (M, N, mat, rank, rrflag, eps, Flops, norm_tol)
 
subroutine c_misc_utilities::c_checkrandomizedlr (M, N, mat, tolerance)
 
subroutine c_misc_utilities::c_rperm (N, p)
 
subroutine c_misc_utilities::c_init_random_seed ()
 
integer function c_lcg (s)
 
subroutine c_misc_utilities::c_random_dp_number (val)
 
complex(kind=8) function c_misc_utilities::c_c8_normal_01 (seed)
 
real(kind=8) function c_misc_utilities::c_r8_normal_01 (seed)
 
real(kind=8) function c_misc_utilities::c_r8_uniform_01 (seed)
 
subroutine c_misc_utilities::c_assert (statement, msg)
 
integer function c_misc_utilities::c_floor_safe (input)
 
integer function c_misc_utilities::c_ceiling_safe (input)
 
integer function c_misc_utilities::c_int_safe (input)
 
subroutine c_misc_utilities::c_cscalar (a, b, c)
 
subroutine c_misc_utilities::c_scalar (a, b, c)
 
subroutine c_misc_utilities::c_rrcurl (a, b, c)
 
subroutine c_misc_utilities::c_rccurl (a, b, c)
 
subroutine c_misc_utilities::c_cccurl (a, b, c)
 
subroutine c_misc_utilities::c_cscalar_sp (a, b, c)
 
subroutine c_misc_utilities::c_scalar_sp (a, b, c)
 
subroutine c_misc_utilities::c_rrcurl_sp (a, b, c)
 
subroutine c_misc_utilities::c_rccurl_sp (a, b, c)
 
subroutine c_misc_utilities::c_cccurl_sp (a, b, c)
 
real(kind=8) function c_misc_utilities::c_norm_vector (vector, n)
 
subroutine c_misc_utilities::c_linearsolve (m, n, k, A, b, x, eps_r, verbose, Flops)
 
subroutine c_misc_utilities::c_generalinverse (m, n, A, A_inv, eps_r, Flops)
 
subroutine c_misc_utilities::c_pgeneralinverse (m, n, A, A_inv, eps_r, ctxt, Flops)
 
subroutine c_misc_utilities::c_randomizedsvd (matRcol, matZRcol, matRrow, matZcRrow, matU, matV, Singular, rankmax_r, rankmax_c, rmax, rank, tolerance, SVD_tolerance, Flops)
 
subroutine c_misc_utilities::c_randomsubmat (ms, me, ns, ne, k, A, Oflag)
 
subroutine c_misc_utilities::c_randommat (m, n, k, A, Oflag)
 
subroutine c_misc_utilities::c_id_selection (Mat, select_column, select_row, m, n, rank, tolerance)
 
subroutine c_misc_utilities::c_aca_compressionfull (mat, matU, matV, rankmax_r, rankmax_c, rmax, rank, tolerance, SVD_tolerance)
 
recursive subroutine c_misc_utilities::c_rrqr_lq (mat, mm, nn, mn, UU, VV, tolerance, rank, lr, flops)
 
subroutine c_misc_utilities::c_svd_truncate (mat, mm, nn, mn, UU, VV, Singular, tolerance_rel, tolerance_abs, rank, flop)
 
subroutine c_misc_utilities::c_rrqr_svd (mat, mm, nn, mn, rmax, UU, VV, Singular, tolerance, rank, flop)
 
subroutine c_misc_utilities::c_psvd_truncate (mm, nn, mat, descMat, UU, VV, descUU, descVV, Singular, tolerance, rank, ctxt, tolerance_abs, flop)
 
subroutine c_misc_utilities::c_piksrt_dble_multi (N, M, ARR)
 
subroutine c_misc_utilities::c_piksrt_int_multi (N, M, ARR)
 
subroutine c_misc_utilities::c_remove_dup_int (array, nin, nout)
 *** remove the duplicates in an integer array More...
 
subroutine c_misc_utilities::c_binary_search (N, x, val, mid)
 
subroutine c_misc_utilities::quick_sort (c_list, order, n)
 
recursive subroutine quick_sort_1 (left_end, right_end)
 
subroutine interchange_sort (left_end, right_end)
 
subroutine c_misc_utilities::quick_sort_int (c_list, order, n)
 
subroutine c_misc_utilities::c_cart2sph_loc (xin, yin, zin, origin, xunit, yunit, zunit, r, theta, phi)
 ******* convert from a gloal Cartesian coordinate to a local Cartesian coordinate (origin, xunit, yunit, zunit) and then convert to the local spherial coordinate More...
 
subroutine c_misc_utilities::c_cart2sph (xin, yin, zin, origin, r, theta, phi)
 
complex(kind=8) function c_misc_utilities::c_hankel02_func (x)
 
real(kind=8) function c_misc_utilities::c_besselj0_func (x)
 
real(kind=8) function c_misc_utilities::c_bessely0_func (x)
 
subroutine c_misc_utilities::bessjyv (Nmax, x, sjv, bf)
 
subroutine c_misc_utilities::bessjy (x, xnu, rj)
 
real *8 function absc (z)
 
subroutine c_misc_utilities::beschb (x, gam1, gam2, gampl, gammi)
 
real *8 function c_misc_utilities::chebev (a, b, c, x)
 
recursive subroutine c_misc_utilities::c_createleaf_natural (nlevel, level, group, idxs, idxe, treeleaf)
 **** create a array treeleaf holding size of each leaf box of a tree with nlevel levels (0<=level<=nlevel) More...
 
subroutine c_misc_utilities::c_numberingptree (ptree)
 
subroutine c_misc_utilities::c_getlocalblockrange (ptree, pgno, level, level_butterfly, idx_r, inc_r, nr, idx_c, inc_c, nc, dir)
 **** computation of the local butterfly block ranges owned by this MPI rank More...
 
subroutine c_misc_utilities::c_singleindextomultiindex (Ndim, dims, single_index_in, multi_index)
 **** convert single index to multi-index, assuming first index is the fastest More...
 
subroutine c_misc_utilities::c_multiindextosingleindex (Ndim, dims, single_index, multi_index)
 **** convert multi-index to single-index, assuming first index is the fastest More...
 
subroutine c_misc_utilities::c_getlocalblockrange_md (ptree, pgno, level, level_butterfly, ndim, dim_s, idx_r, inc_r, nr, idx_c, inc_c, nc, dir)
 **** computation of the local (multi-dimensinonal) butterfly block ranges owned by this MPI rank More...
 
subroutine c_misc_utilities::c_tensorunfoldingreshape (Ndim, dims_ref_old, dims_ref_new, offsets_ref, ld_old, ld_new, data_in, trans_in, data_out, trans_out, loopnew)
 
subroutine c_misc_utilities::c_getpgno_sub (ptree, pgno, level_butterfly, pgno_sub)
 **** computation of the sub process group that handles one block of the outtermost factor of a butterfly. Note: if level_butterfly=0, then pgno_sub=pgno More...
 
subroutine c_misc_utilities::c_getblockpid (ptree, pgno, level, level_butterfly, index_i, index_j, dir, pgno_sub)
 **** computation of the process group number "pgno_sub" that shares the (index_i,index_j,level) block. Note for blocks in the kernels, only the head process in pgno_sub is active; for blocks in the outtermost factors, all processes could be active More...
 
subroutine c_misc_utilities::c_getblockpid_md (ptree, pgno, ndim, dim_s, level, level_butterfly, index_i, index_j, dir, pgno_sub)
 **** computation of the process group number "pgno_sub" that shares the multi-dimensional (index_i(ndim),index_j(ndim),level) block. Note for blocks in the kernels, only the head process in pgno_sub is active; for blocks in the outtermost factors, all processes could be active More...
 
integer function c_misc_utilities::c_getmshgroup_pgno (ptree, ndim, group)
 **** get the pgno for the multi-dimensinoal group in msh. More...
 
subroutine c_misc_utilities::c_blacs_exit_wrp (flag)
 
subroutine c_misc_utilities::c_blacs_gridexit_wrp (ctxt)
 
subroutine c_misc_utilities::c_blacs_gridmap_wrp (ctxt, pmap, ldu, nprow, npcol)
 
integer function c_misc_utilities::c_sys2blacs_handle_wrp (comm)
 
subroutine c_misc_utilities::c_createptree (nmpi, groupmembers, MPI_Comm_base, ptree)
 
subroutine c_misc_utilities::c_redistribute1dto1d (dat_i, ldi, M_p_i, head_i, pgno_i, dat_o, ldo, M_p_o, head_o, pgno_o, N, ptree, addflag)
 
subroutine c_misc_utilities::c_redistribute1dto1d_onetotwo (dat_i, ldi, M_p_i, head_i, pgno_i, dat_o1, ldo1, M_p_o1, head_o1, pgno_o1, dat_o2, ldo2, M_p_o2, head_o2, pgno_o2, N, ptree)
 
subroutine c_misc_utilities::c_redistribute1dto1d_twotoone (dat_i1, ldi1, M_p_i1, head_i1, pgno_i1, dat_i2, ldi2, M_p_i2, head_i2, pgno_i2, dat_o, ldo, M_p_o, head_o, pgno_o, N, ptree)
 
subroutine c_misc_utilities::c_redistribute1dto2d (dat_i, M_p_i, head_i, pgno_i, dat_o, M, head_o, pgno_o, N, ptree)
 
subroutine c_misc_utilities::c_redistribute2dto1d (dat_i, M, head_i, pgno_i, dat_o, M_p_o, head_o, pgno_o, N, ptree)
 
subroutine c_misc_utilities::c_redistribute1dto1d_md (Ndim, dat_i, ldi, M_p_i, head_i, pgno_i, dat_o, ldo, M_p_o, head_o, pgno_o, N, ptree, addflag)
 
integer function c_misc_utilities::c_gettreelevel (gno)
 
logical function c_misc_utilities::c_iownpgrp (ptree, pgno)
 
integer function c_misc_utilities::c_lcm (a, b)
 
integer function c_misc_utilities::c_gcd (a, b)
 
integer function c_misc_utilities::c_blacs_pnum_wp (NPROW, NPCOL, PROW, PCOL)
 
subroutine c_misc_utilities::c_gridinfo_2d (pmap, MyID, myrow, mycol)
 
subroutine c_misc_utilities::c_array1dtopointer2d (x, p, n1, n2)
 
subroutine c_misc_utilities::c_logmemory (stats, mem)
 
subroutine c_misc_utilities::c_get_graph_colors_jp (rows, ia, ja, colors)
 
integer function c_misc_utilities::c_bit_reverse (n, bits)
 

Variables

integer, parameter c_misc_utilities::int64 = selected_int_kind(18)
 

Function/Subroutine Documentation

◆ absc()

real*8 function bessjy::absc ( complex(kind = 8), intent(in)  z)

◆ c_lcg()

integer function c_init_random_seed::c_lcg ( integer(int64)  s)

◆ interchange_sort()

subroutine quick_sort::interchange_sort ( integer, intent(in)  left_end,
integer, intent(in)  right_end 
)

◆ quick_sort_1()

recursive subroutine quick_sort::quick_sort_1 ( integer, intent(in)  left_end,
integer, intent(in)  right_end 
)
Here is the call graph for this function: