SheafSystem  0.0.0.0
fiber_bundle::sec_tp_algebra Namespace Reference

Namespace containing the algrebra functions for a a section of a fiber bundle with a fiber type tp. More...

Functions

SHEAF_DLL_SPEC void alt (const sec_t2 &x0, sec_at2 &xresult, bool xauto_access)
 The alternating (antisymmetric) part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void alt (const sec_t2 &x0, sec_t2 &xresult, bool xauto_access)
 The alternating (antisymmetric) part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void sym (const sec_t2 &x0, sec_st2 &xresult, bool xauto_access)
 The symmetric part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void sym (const sec_t2 &x0, sec_t2 &xresult, bool xauto_access)
 The symmetric part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void contract (const sec_t2 &x0, int xp, int xq, sec_at0 &xresult, bool xauto_access)
 Contraction on contravariant index xp and covariant index xq (pre-allocated version). More...
 
SHEAF_DLL_SPEC void tensor (const sec_at1 &x0, const sec_at1 &x1, sec_t2 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void alt (const sec_t3 &x0, sec_at3 &xresult, bool xauto_access)
 The alternating (antisymmetric) part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void alt (const sec_t3 &x0, sec_t3 &xresult, bool xauto_access)
 The alternating (antisymmetric) part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void sym (const sec_t3 &x0, sec_st3 &xresult, bool xauto_access)
 The symmetric part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void sym (const sec_t3 &x0, sec_t3 &xresult, bool xauto_access)
 The symmetric part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void contract (const sec_t3 &x0, int xp, int xq, sec_at1 &xresult, bool xauto_access)
 Contraction on contravariant index xp and covariant index xq (pre-allocated version). More...
 
SHEAF_DLL_SPEC void tensor (const sec_t2 &x0, const sec_at1 &x1, sec_t3 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void tensor (const sec_at1 &x0, const sec_t2 &x1, sec_t3 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void tensor (const sec_at2 &x0, const sec_at1 &x1, sec_t3 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void tensor (const sec_at1 &x0, const sec_at2 &x1, sec_t3 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void tensor (const sec_st2 &x0, const sec_at1 &x1, sec_t3 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void tensor (const sec_at1 &x0, const sec_st2 &x1, sec_t3 &xresult, bool xauto_access)
 
SHEAF_DLL_SPEC void alt (const sec_tp &x0, sec_atp &xresult, bool xauto_access)
 The alternating (antisymmetric) part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void sym (const sec_tp &x0, sec_stp &xresult, bool xauto_access)
 The symmetric part of tensor x0 (pre-allocated version). More...
 
SHEAF_DLL_SPEC void contract (const sec_tp &x0, int xp, int xq, sec_tp &xresult, bool xauto_access)
 Contraction on contravariant index xp and covariant index xq (pre-allocated version). More...
 
SHEAF_DLL_SPEC void tensor (const sec_tp &x0, const sec_tp &x1, sec_tp &xresult, bool xauto_access)
 Tensor product of x0 and x1 (pre-allocated version). More...
 

Detailed Description

Namespace containing the algrebra functions for a a section of a fiber bundle with a fiber type tp.

Function Documentation

◆ alt() [1/5]

void fiber_bundle::sec_tp_algebra::alt ( const sec_t2 x0,
sec_at2 xresult,
bool  xauto_access 
)

The alternating (antisymmetric) part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the antisymmetric part of x0" )

Definition at line 679 of file sec_t2.cc.

References fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

Referenced by fields::field_tp_algebra::alt(), alt(), fiber_bundle::sec_t2::invariant(), fiber_bundle::sec_t3::invariant(), and fiber_bundle::sec_tp::invariant().

◆ alt() [2/5]

void fiber_bundle::sec_tp_algebra::alt ( const sec_t3 x0,
sec_at3 xresult,
bool  xauto_access 
)

The alternating (antisymmetric) part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the antisymmetric part of x0" )

Definition at line 720 of file sec_t3.cc.

References alt(), fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

◆ alt() [3/5]

void fiber_bundle::sec_tp_algebra::alt ( const sec_t2 x0,
sec_t2 xresult,
bool  xauto_access 
)

The alternating (antisymmetric) part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the antisymmetric part of x0" )

Definition at line 708 of file sec_t2.cc.

References fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sym(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

◆ alt() [4/5]

void fiber_bundle::sec_tp_algebra::alt ( const sec_t3 x0,
sec_t3 xresult,
bool  xauto_access 
)

The alternating (antisymmetric) part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the antisymmetric part of x0" )

Definition at line 749 of file sec_t3.cc.

References fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sym(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

◆ alt() [5/5]

void fiber_bundle::sec_tp_algebra::alt ( const sec_tp x0,
sec_atp xresult,
bool  xauto_access 
)

The alternating (antisymmetric) part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()

Definition at line 1078 of file sec_tp.cc.

References fiber_bundle::tp_algebra::alt(), fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sym(), and fiber_bundle::sec_tp::variance().

◆ contract() [1/3]

void fiber_bundle::sec_tp_algebra::contract ( const sec_t2 x0,
int  xp,
int  xq,
sec_at0 xresult,
bool  xauto_access 
)

Contraction on contravariant index xp and covariant index xq (pre-allocated version).

The arguments xp and xq are indices into the "variance type" bitset. This implies that xp != xq.

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • xp != xq
  • xp >= 0 && xp < x0.p(xauto_access)
  • xq >= 0 && xq < x0.p(xauto_access)
  • x0.is_contravariant(xp, xauto_access) != \ x0.is_contravariant(xq, xauto_access)
Postcondition
  • -unexecutable( "xresult is the contraction of x0 on indices xp and xq" )

Definition at line 795 of file sec_t2.cc.

References fiber_bundle::sec_tp::is_contravariant(), fiber_bundle::sec_tp::p(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), and fiber_bundle::sec_vd_algebra::unary_op().

Referenced by fields::field_tp_algebra::contract(), and sym().

◆ contract() [2/3]

void fiber_bundle::sec_tp_algebra::contract ( const sec_t3 x0,
int  xp,
int  xq,
sec_at1 xresult,
bool  xauto_access 
)

Contraction on contravariant index xp and covariant index xq (pre-allocated version).

The arguments xp and xq are indices into the "variance type" bitset. This implies that xp != xq.

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • xp != xq
  • xp >= 0 && xp < x0.p(xauto_access)
  • xq >= 0 && xq < x0.p(xauto_access)
  • x0.is_contravariant(xp, xauto_access) != \ x0.is_contravariant(xq, xauto_access)
Postcondition
  • -unexecutable( "xresult is the contraction of x0 on indices xp and xq" )

Definition at line 836 of file sec_t3.cc.

References fiber_bundle::sec_tp::is_contravariant(), fiber_bundle::sec_tp::p(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), and fiber_bundle::sec_vd_algebra::unary_op().

◆ contract() [3/3]

void fiber_bundle::sec_tp_algebra::contract ( const sec_tp x0,
int  xp,
int  xq,
sec_tp xresult,
bool  xauto_access 
)

Contraction on contravariant index xp and covariant index xq (pre-allocated version).

The arguments xp and xq are indices into the "variance type" bitset. This implies that xp != xq.

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • xp != xq
  • xp >= 0 && xp < x0.p(xauto_access)
  • xq >= 0 && xq < x0.p(xauto_access)
  • x0.is_contravariant(xp, xauto_access) != \ x0.is_contravariant(xq, xauto_access)

Definition at line 1206 of file sec_tp.cc.

References fiber_bundle::tp_algebra::contract(), fiber_bundle::sec_tp::is_contravariant(), fiber_bundle::sec_tp::p(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), and tensor().

◆ sym() [1/5]

void fiber_bundle::sec_tp_algebra::sym ( const sec_t3 x0,
sec_st3 xresult,
bool  xauto_access 
)

The symmetric part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the symmetric part of x0" )

Definition at line 778 of file sec_t3.cc.

References fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sym(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

◆ sym() [2/5]

void fiber_bundle::sec_tp_algebra::sym ( const sec_t2 x0,
sec_st2 xresult,
bool  xauto_access 
)

The symmetric part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the symmetric part of x0" )

Definition at line 737 of file sec_t2.cc.

References fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

Referenced by alt(), fields::field_tp_algebra::sym(), and sym().

◆ sym() [3/5]

void fiber_bundle::sec_tp_algebra::sym ( const sec_t2 x0,
sec_t2 xresult,
bool  xauto_access 
)

The symmetric part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the symmetric part of x0" )

Definition at line 766 of file sec_t2.cc.

References contract(), fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

◆ sym() [4/5]

void fiber_bundle::sec_tp_algebra::sym ( const sec_t3 x0,
sec_t3 xresult,
bool  xauto_access 
)

The symmetric part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()
Postcondition
  • xresult.variance(xauto_access) == x0.variance(xauto_access)
  • -unexecutable( "xresult is equal to the symmetric part of x0" )

Definition at line 807 of file sec_t3.cc.

References contract(), fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::sec_vd_algebra::unary_op(), and fiber_bundle::sec_tp::variance().

◆ sym() [5/5]

void fiber_bundle::sec_tp_algebra::sym ( const sec_tp x0,
sec_stp xresult,
bool  xauto_access 
)

The symmetric part of tensor x0 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.dd(xauto_access) == xresult.dd(xauto_access)
  • !x0.variance(xauto_access).is_mixed()

Definition at line 1136 of file sec_tp.cc.

References contract(), fiber_bundle::sec_tp::dd(), fiber_bundle::tensor_variance::is_mixed(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::tp_algebra::sym(), and fiber_bundle::sec_tp::variance().

◆ tensor() [1/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_at1 x0,
const sec_at1 x1,
sec_t2 xresult,
bool  xauto_access 
)
Todo:
: Remove when we have an efficient general implementation.

Tensor product of x0 and x1 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 824 of file sec_t2.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

Referenced by contract(), fields::field_tp_algebra::tensor(), and tensor().

◆ tensor() [2/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_t2 x0,
const sec_at1 x1,
sec_t3 xresult,
bool  xauto_access 
)
Todo:
: Remove when we have an efficient general implementation.

Tensor product of x0 and x1 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 865 of file sec_t3.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

◆ tensor() [3/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_at1 x0,
const sec_t2 x1,
sec_t3 xresult,
bool  xauto_access 
)
Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 897 of file sec_t3.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

◆ tensor() [4/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_at2 x0,
const sec_at1 x1,
sec_t3 xresult,
bool  xauto_access 
)
Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 929 of file sec_t3.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

◆ tensor() [5/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_at1 x0,
const sec_at2 x1,
sec_t3 xresult,
bool  xauto_access 
)
Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 961 of file sec_t3.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

◆ tensor() [6/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_st2 x0,
const sec_at1 x1,
sec_t3 xresult,
bool  xauto_access 
)
Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 993 of file sec_t3.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), tensor(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

◆ tensor() [7/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_at1 x0,
const sec_st2 x1,
sec_t3 xresult,
bool  xauto_access 
)
Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)
Postcondition
  • xresult.variance(xauto_access) == \ tensor_product(x0.variance(xauto_access), x1.variance(xauto_access))

Definition at line 1025 of file sec_t3.cc.

References fiber_bundle::sec_vd_algebra::binary_op(), fiber_bundle::sec_tp::dd(), fiber_bundle::sec_tp::put_variance(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::tensor_product(), and fiber_bundle::sec_tp::variance().

◆ tensor() [8/8]

void fiber_bundle::sec_tp_algebra::tensor ( const sec_tp x0,
const sec_tp x1,
sec_tp xresult,
bool  xauto_access 
)

Tensor product of x0 and x1 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x1.dd(xauto_access) == x0.dd(xauto_access)
  • xresult.dd(xauto_access) == x0.dd(xauto_access)

Definition at line 1253 of file sec_tp.cc.

References fiber_bundle::sec_tp::dd(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), and fiber_bundle::tp_algebra::tensor().