kronecker                package:base                R Documentation

_K_r_o_n_e_c_k_e_r _p_r_o_d_u_c_t_s _o_n _a_r_r_a_y_s

_D_e_s_c_r_i_p_t_i_o_n:

     Computes the generalised kronecker product of two arrays, 'X' and
     'Y'.  'kronecker(X, Y)' returns an array 'A' with dimensions
     'dim(X) * dim(Y)'.

_U_s_a_g_e:

     kronecker(X, Y, FUN = "*", make.dimnames = FALSE, ...)
     X %x% Y

_A_r_g_u_m_e_n_t_s:

       X: A vector or array.

       Y: A vector or array.

     FUN: a function; it may be a quoted string.

make.dimnames: Provide dimnames that are the product of the dimnames of
          'X' and 'Y'.

     ...: optional arguments to be passed to 'FUN'.

_D_e_t_a_i_l_s:

     If 'X' and 'Y' do not have the same number of dimensions, the
     smaller array is padded with dimensions of size one.  The returned
     array comprises submatrices constructed by taking 'X' one term at
     a time and expanding that term as 'FUN(x, Y, ...)'.

     '%x%' is an alias for 'kronecker' (where 'FUN' is hardwired to
     '"*"').

_A_u_t_h_o_r(_s):

     Jonathan Rougier, J.C.Rougier@durham.ac.uk

_R_e_f_e_r_e_n_c_e_s:

     Shayle R. Searle (1982) _Matrix Algebra Useful for Statistics._
     John Wiley and Sons.

_S_e_e _A_l_s_o:

     'outer', on which 'kronecker' is built and '%*%' for usual matrix
     multiplication.

_E_x_a_m_p_l_e_s:

     # simple scalar multiplication
     ( M <- matrix(1:6, ncol=2) )
     kronecker(4, M)
     # Block diagonal matrix:
     kronecker(diag(1, 3), M)

     # ask for dimnames

     fred <- matrix(1:12, 3, 4, dimnames=list(LETTERS[1:3], LETTERS[4:7]))
     bill <- c("happy" = 100, "sad" = 1000)
     kronecker(fred, bill, make.dimnames = TRUE)

     bill <- outer(bill, c("cat"=3, "dog"=4))
     kronecker(fred, bill, make.dimnames = TRUE)

