# dbcsr_t_copy Subroutine

## public subroutine dbcsr_t_copy(tensor_in, tensor_out, order, summation, bounds, move_data, unit_nr)

Copy tensor data. Redistributes tensor data according to distributions of target and source tensor. Permutes tensor index according to order argument (if present). Source and target tensor formats are arbitrary as long as the following requirements are met: * source and target tensors have the same rank and the same sizes in each dimension in terms of tensor elements (block sizes don't need to be the same). If order argument is present, sizes must match after index permutation. OR * target tensor is not yet created, in this case an exact copy of source tensor is returned.

### Arguments

Type IntentOptional Attributes Name
type(dbcsr_t_type), intent(inout), TARGET :: tensor_in

Source Target

type(dbcsr_t_type), intent(inout), TARGET :: tensor_out

Source Target

integer, intent(in), optional, DIMENSION(ndims_tensor(tensor_in)) :: order

Permutation of target tensor index. Exact same convention as order argument of RESHAPE intrinsic

logical, intent(in), optional :: summation
integer, intent(in), optional, DIMENSION(2, ndims_tensor(tensor_in)) :: bounds

crop tensor data: start and end index for each tensor dimension

logical, intent(in), optional :: move_data
integer, intent(in), optional :: unit_nr