MCTDH-X  v2.22
 All Classes Files Functions Variables Pages
combinatorial_algorithms Module Reference

This module contains algorithms that are useful for the evaluation of combinatorial formulas, such as e.g. multinomial expansions. Where indicated by the header, they are written by John Burkardt. More...

Public Member Functions

subroutine c16mat_permanent (n, a, perm)
 c16mat_permanent computes the permanent of a complex matrix. More...
 
subroutine subset_gray_next (n, a, more, ncard, iadd)
 SUBSET_GRAY_NEXT generates all subsets of a set of order N, one at a time. More...
 
subroutine perman2 (n, a, perm)
 perman2 computes the permanent of a complex matrix. More...
 
subroutine nexsub2 (n, inn, mtc, ncard, j)
 nexsub2 computes the compositions of the integer N into K parts. More...
 
subroutine comp_next (n, k, a, more, h, t)
 COMP_NEXT computes the compositions of the integer N into K parts. More...
 
subroutine comp_enum (n, k, number)
 COMP_ENUM returns the number of compositions of the integer N into K parts. More...
 
subroutine multinomial_coef1 (nfactor, factor, ncomb)
 MULTINOMIAL_COEF1 computes a multinomial coefficient. More...
 
integer(kind=4) function i4_choose (n, k)
 I4_CHOOSE computes the binomial coefficient C(N,K). More...
 
real(kind=8) function r8_gamma_log (x)
 R8_GAMMA_LOG calculates the natural logarithm of GAMMA ( X ) for positive X. More...
 

Detailed Description

This module contains algorithms that are useful for the evaluation of combinatorial formulas, such as e.g. multinomial expansions. Where indicated by the header, they are written by John Burkardt.

Member Function/Subroutine Documentation

subroutine combinatorial_algorithms::c16mat_permanent ( integer  n,
complex*16, dimension(n,n)  a,
complex*16  perm 
)

c16mat_permanent computes the permanent of a complex matrix.

References subset_gray_next().

Here is the call graph for this function:

subroutine combinatorial_algorithms::comp_enum ( integer ( kind = 4 )  n,
integer ( kind = 4 )  k,
integer ( kind = 4 )  number 
)

COMP_ENUM returns the number of compositions of the integer N into K parts.

References i4_choose().

Here is the call graph for this function:

subroutine combinatorial_algorithms::comp_next ( integer ( kind = 4 )  n,
integer ( kind = 4 )  k,
integer ( kind = 4 ), dimension(k)  a,
logical  more,
integer ( kind = 4 )  h,
integer ( kind = 4 )  t 
)

COMP_NEXT computes the compositions of the integer N into K parts.

Referenced by auxiliary_analysis_routines::loopy_permanent(), and auxiliary_analysis_routines::u_trans().

Here is the caller graph for this function:

integer ( kind = 4 ) function combinatorial_algorithms::i4_choose ( integer ( kind = 4 )  n,
integer ( kind = 4 )  k 
)

I4_CHOOSE computes the binomial coefficient C(N,K).

Referenced by comp_enum().

Here is the caller graph for this function:

subroutine combinatorial_algorithms::multinomial_coef1 ( integer ( kind = 4 )  nfactor,
integer ( kind = 4 ), dimension(nfactor)  factor,
integer ( kind = 4 )  ncomb 
)

MULTINOMIAL_COEF1 computes a multinomial coefficient.

References r8_gamma_log().

Here is the call graph for this function:

subroutine combinatorial_algorithms::nexsub2 ( integer  n,
integer, dimension(n)  inn,
logical  mtc,
integer  ncard,
integer  j 
)

nexsub2 computes the compositions of the integer N into K parts.

Referenced by perman2().

Here is the caller graph for this function:

subroutine combinatorial_algorithms::perman2 ( integer  n,
complex*16, dimension(n,n)  a,
complex*16  perm 
)

perman2 computes the permanent of a complex matrix.

References nexsub2().

Here is the call graph for this function:

real ( kind = 8 ) function combinatorial_algorithms::r8_gamma_log ( real ( kind = 8 )  x)

R8_GAMMA_LOG calculates the natural logarithm of GAMMA ( X ) for positive X.

Referenced by multinomial_coef1().

Here is the caller graph for this function:

subroutine combinatorial_algorithms::subset_gray_next ( integer ( kind = 4 )  n,
integer ( kind = 4 ), dimension(n)  a,
logical  more,
integer ( kind = 4 )  ncard,
integer ( kind = 4 )  iadd 
)

SUBSET_GRAY_NEXT generates all subsets of a set of order N, one at a time.

Referenced by c16mat_permanent().

Here is the caller graph for this function:


The documentation for this module was generated from the following file: