tn_tensor_type Module


Uses


Contents


Interfaces

public interface assignment(=)

  • private subroutine assignmentDTN(T1, T2)

    Arguments

    Type IntentOptional AttributesName
    real(kind=8), intent(inout) :: T1
    type(tn_tensor), intent(in) :: T2
  • private subroutine assignmentZTN(T1, T2)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=8), intent(inout) :: T1
    type(tn_tensor), intent(in) :: T2
  • private subroutine assignmentTTN(T1, T2)

    Arguments

    Type IntentOptional AttributesName
    type(tensor), intent(inout) :: T1
    type(tn_tensor), intent(in) :: T2
  • private subroutine assignmentTNTN(T1, T2)

    Arguments

    Type IntentOptional AttributesName
    type(tn_tensor), intent(inout) :: T1
    type(tn_tensor), intent(in) :: T2

public interface operator(*)

  • private function scale_tn(T, mul)

    Arguments

    Type IntentOptional AttributesName
    type(tn_tensor), intent(in) :: T
    class(*), intent(in) :: mul

    Return Value type(tn_tensor)

public interface operator(/)

  • private function divide_tn(T, mul)

    Arguments

    Type IntentOptional AttributesName
    type(tn_tensor), intent(in) :: T
    class(*), intent(in) :: mul

    Return Value type(tn_tensor)

public interface operator(.con.)

  • private function conjugate_tn(T)

    Arguments

    Type IntentOptional AttributesName
    type(tn_tensor), intent(in) :: T

    Return Value type(tn_tensor)

public interface absorb_all_rt

  • private function absorb_all0_rt(T, abp) result(Res)

    Arguments

    Type IntentOptional AttributesName
    class(tn_tensor), intent(inout) :: T
    type(path), intent(in), optional :: abp

    Return Value type(tn_tensor)

  • private function absorb_all1_rt(T1, T2, abp) result(Res)

    Arguments

    Type IntentOptional AttributesName
    class(tn_tensor), intent(inout) :: T1
    class(tn_tensor), intent(inout) :: T2
    type(path), intent(in), optional :: abp

    Return Value type(tn_tensor)

public interface TNcontract

  • private function contract_TNTN(T1, T2) result(Res)

    Arguments

    Type IntentOptional AttributesName
    type(tn_tensor), intent(inout) :: T1
    type(tn_tensor), intent(inout) :: T2

    Return Value type(tn_tensor)


Derived Types

type, public, extends(tensor) :: tn_tensor

Type-Bound Procedures

procedure, public :: get_info
procedure, public :: draw
procedure, public :: empty
procedure, public :: absorb
procedure, public :: absorb_with_env
procedure, public :: absorb_just_env
procedure, public :: take
generic, public :: absorb_all => absorb_all0, absorb_all1
procedure, public :: belong
generic, public :: take_except => take_except_pos, take_except_name, take_except_path, take_except_group
generic, public :: absorb_except => absorb0_except_pos, absorb0_except_name, absorb1_except_pos
procedure, public :: invert_bond
procedure, public :: get_lattice_link

Subroutines

public subroutine tn_draw_on()

Arguments

None

public subroutine tn_draw_off()

Arguments

None

public subroutine absorb_rt(Tout, Tin, pos)

Arguments

Type IntentOptional AttributesName
class(tn_tensor), intent(inout) :: Tout
class(tn_tensor), intent(inout) :: Tin
integer, intent(in) :: pos(2)