Table of major non-member functions in the mat_gen_dim namespace.
home

filefunctions
1H_matrix_base.h
template <typename compo, typename alloc>
void copy_block_base (
    sub_matrix_base<compo,alloc> const & srce_mat,
    form const & srce_inner_frm,
    var_matrix_base<compo,alloc> const & dest_mat,
    form const & dest_inner_frm
)
1J_matrix_manip.h
template <typename compo, typename alloc>
void copy_block (
    sub_matrix<compo,alloc> const & srce_mat,
    form const & srce_inner_frm,
    var_matrix<compo,alloc> & dest_mat,
    form const & dest_inner_frm
);

template <typename compo = double, typename alloc = std::allocator<compo>>
sub_matrix<compo,alloc> sub_matrix_linear (form const &, double const);

template <typename compo = double, typename alloc = std::allocator<compo>>
sub_matrix<compo,alloc> sub_matrix_random (form const &, rand_double const &);
1K_matrix_join.h
template <
    typename compo, 
    typename alloc = std::allocator<compo>
> var_matrix<var_matrix<compo,alloc>> disjoin (
    sub_matrix_base <compo,alloc> const &, sign_int const);

template <
    typename compo, 
    typename alloc = std::allocator<compo>,
    typename inner = sub_matrix_base<compo,alloc>
> var_matrix<compo,alloc> conjoin (sub_matrix_base<inner> const & );
3A_alone.h
template <
    typename oper, typename compo_a, 
    typename alloc_a = std::allocator <compo_a> >
void alone_non_var (
    var_matrix_base<compo_a,alloc_a> const & mat_a
);

template <
    typename oper, typename compo_a, 
    typename alloc_a = std::allocator <compo_a>
> var_matrix <compo_a, alloc_a> alone_ret_var (
    var_matrix_base<compo_a,alloc_a> const & mat_a
);

template <
    typename oper, typename compo_a, 
    typename compo_z = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_z = std::allocator <compo_z>
> var_matrix<compo_z,alloc_z> alone_ret_con (
    sub_matrix_base<compo_a,alloc_a> const & mat_a
);

template <
    typename compo_a,
    typename compo_z = compo_a,
    typename alloc_a = std::allocator<compo_a>,
    typename alloc_z = std::allocator<compo_z>
> var_matrix<compo_z,alloc_z> operator- (
    sub_matrix_base<compo_a,alloc_a> const & mat_a
);
3B_scalar.h
template <
    typename oper, typename compo_a, 
    typename scalar_t = compo_a,
    typename alloc_a = std::allocator <compo_a>
> void scalar_non_var (
    var_matrix_base<compo_a,alloc_a> const & mat_a,
    scalar_t const scalar_v
);

template <
    typename oper, typename compo_a, 
    typename scalar_t = compo_a, typename alloc_a = std::allocator <compo_a>
> var_matrix<compo_a,alloc_a> scalar_ret_var (
    var_matrix_base<compo_a,alloc_a> const & mat_a,
    scalar_t const scalar_v
);

template <
    typename compo_a, 
    typename scalar_t = compo_a,
    typename alloc_a = std::allocator<compo_a>
> var_matrix<compo_a,alloc_a> operator*= (
    var_matrix_base<compo_a,alloc_a> const & mat_a,
    scalar_t const scalar_v
);

template <
    typename oper, typename compo_a, 
    typename scalar_t = compo_a, typename compo_z = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_z = std::allocator <compo_z>
> var_matrix<compo_z,alloc_z> scalar_ret_con (
    sub_matrix_base<compo_a,alloc_a> const & mat_a,
    scalar_t const scalar_v
);

template <
    typename compo_a,
    typename scalar_t = compo_a,
    typename compo_z = compo_a,
    typename alloc_a = std::allocator<compo_a>,
    typename alloc_z = std::allocator<compo_z>
> var_matrix<compo_z,alloc_z> operator* (
    sub_matrix_base<compo_a,alloc_a> const & mat_a,
    scalar_t const scalar_v
);
3C_parallel.h
template <
    typename oper, typename compo_a, 
    typename compo_b = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_b = std::allocator <compo_b>
> void parallel_non_var_con (
    var_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b
);

template <
    typename oper, typename compo_a, 
    typename compo_b = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_b = std::allocator <compo_b>
> var_matrix<compo_a,alloc_a> parallel_ret_var_con (
    var_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b
);
 
template <
    typename compo_a,
    typename compo_b = compo_a,
    typename alloc_a = std::allocator<compo_a>,
    typename alloc_b = std::allocator<compo_b>
> var_matrix<compo_a,alloc_a> operator+= (
    var_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b
);

template <
    typename oper, typename compo_a,  
    typename compo_b = compo_a, typename compo_z = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_b = std::allocator <compo_b>,
    typename alloc_z = std::allocator <compo_z>
> var_matrix<compo_z,alloc_z> parallel_ret_con_con (
    sub_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b
);

template <
    typename compo_a,
    typename compo_b = compo_a,
    typename compo_z = compo_a,
    typename alloc_a = std::allocator<compo_a>,
    typename alloc_b = std::allocator<compo_b>,
    typename alloc_z = std::allocator<compo_z>
> var_matrix<compo_z,alloc_z> operator+ (
    sub_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b
);
3D_algebra.h
template <
    typename mul_oper, typename compo_a, 
    typename compo_b = compo_a, typename compo_y = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_b = std::allocator <compo_b>,
    typename alloc_y = std::allocator <compo_y>
> var_matrix<compo_y,alloc_y> outer_product (
    sub_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b
);

template <
    typename add_asgn_oper, typename compo_y, 
    typename compo_z = compo_y,
    typename alloc_y = std::allocator <compo_y>,
    typename alloc_z = std::allocator <compo_z>
> var_matrix<compo_z,alloc_z> contraction (
    sub_matrix_base<compo_y,alloc_y> const & mat_y,
    vec_bool const & which
);

template <
    typename mul_oper, typename add_asgn_oper, typename compo_a, 
    typename compo_b = compo_a, typename compo_y = compo_a, typename compo_z = compo_a,
    typename alloc_a = std::allocator <compo_a>,
    typename alloc_b = std::allocator <compo_b>,
    typename alloc_y = std::allocator <compo_y>,
    typename alloc_z = std::allocator <compo_z>
> var_matrix<compo_z,alloc_z> inner_product (
    sub_matrix_base<compo_a,alloc_a> const & mat_a,
    sub_matrix_base<compo_b,alloc_b> const & mat_b,
    vec_bool const & which
);