NEML2 2.0.0
Loading...
Searching...
No Matches
IdentityTensor Class Reference

Create an identity Tensor from the input file. More...

Detailed Description

Create an identity Tensor from the input file.

#include <IdentityTensor.h>

Inheritance diagram for IdentityTensor:

Public Member Functions

 IdentityTensor (const OptionSet &options)
 
- Public Member Functions inherited from UserTensorBase< Tensor >
 UserTensorBase (const OptionSet &options)
 
void setup () override
 Setup this object.
 
- Public Member Functions inherited from NEML2Object
 NEML2Object ()=delete
 
 NEML2Object (NEML2Object &&)=delete
 
 NEML2Object (const NEML2Object &)=delete
 
NEML2Objectoperator= (NEML2Object &&)=delete
 
NEML2Objectoperator= (const NEML2Object &)=delete
 
virtual ~NEML2Object ()=default
 
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
const OptionSetinput_options () const
 
const std::string & name () const
 A readonly reference to the object's name.
 
const std::string & type () const
 A readonly reference to the object's type.
 
const std::string & path () const
 A readonly reference to the object's path.
 
const std::string & doc () const
 A readonly reference to the object's docstring.
 
Factoryfactory () const
 Get the factory that created this object.
 
const Settingssettings () const
 Settings.
 
template<typename T = NEML2Object>
const T * host () const
 Get a readonly pointer to the host.
 
template<typename T = NEML2Object>
T * host ()
 Get a writable pointer to the host.
 
template<typename T >
const T & resolve_tensor (const std::string &name)
 Resolve a TensorName to a Tensor.
 
template<class T >
std::shared_ptr< T > get_object (const std::string &section, const std::string &name)
 
template<class T = Solver>
std::shared_ptr< T > get_solver (const std::string &name)
 Get a solver from the factory.
 
template<class T = Data>
std::shared_ptr< T > get_data (const std::string &name)
 Get a data from the factory.
 
template<class T = Model>
std::shared_ptr< T > get_model (const std::string &name)
 Get a model from the factory.
 
template<class T = Driver>
std::shared_ptr< T > get_driver (const std::string &name)
 Get a driver from the factory.
 
template<class T = WorkScheduler>
std::shared_ptr< T > get_scheduler (const std::string &name)
 Get a scheduler from the factory.
 
- Public Member Functions inherited from Tensor
 Tensor ()=default
 Special member functions.
 
 Tensor (const ATensor &tensor, Size dynamic_dim, Size intmd_dim=0)
 Construct from another ATensor with inferred dynamic shape.
 
 Tensor (const ATensor &tensor, const TraceableTensorShape &dynamic_shape, Size intmd_dim=0)
 Construct from another ATensor with given dynamic shape.
 
template<class Derived >
 Tensor (const TensorBase< Derived > &tensor)
 Copy from TensorBase.
 
- Public Member Functions inherited from TensorBase< Tensor >
 TensorBase ()=default
 Default constructor.
 
 TensorBase (const ATensor &tensor, Size dynamic_dim, Size intmd_dim)
 Construct from an ATensor with given dynamic dimension.
 
 TensorBase (const ATensor &tensor, TraceableTensorShape dynamic_shape, Size intmd_dim)
 Construct from an ATensor with given dynamic shape.
 
 TensorBase (const TensorBase< Derived2 > &tensor)
 Copy constructor.
 
 TensorBase (double)=delete
 
 TensorBase (float)=delete
 
 TensorBase (int)=delete
 
Tensor variable_data () const
 Variable data without function graph.
 
Tensor contiguous () const
 
Tensor clone () const
 Clone (take ownership)
 
Tensor detach () const
 Discard function graph.
 
Tensor to (const TensorOptions &options) const
 Change tensor options.
 
Tensor operator- () const
 Negation.
 
Size batch_dim () const
 
Size base_dim () const
 
Size dynamic_dim () const
 
Size static_dim () const
 
Size intmd_dim () const
 
TraceableTensorShape batch_sizes () const
 
TensorShapeRef base_sizes () const
 
const TraceableTensorShapedynamic_sizes () const
 
TensorShapeRef static_sizes () const
 
TensorShapeRef intmd_sizes () const
 
TraceableSize batch_size (Size i) const
 
Size base_size (Size i) const
 
const TraceableSizedynamic_size (Size i) const
 
Size static_size (Size i) const
 
Size intmd_size (Size i) const
 
Tensor dynamic_index (indexing::TensorIndicesRef indices) const
 
Tensor intmd_index (indexing::TensorIndicesRef indices) const
 
neml2::Tensor base_index (indexing::TensorIndicesRef indices) const
 
Tensor dynamic_slice (Size d, const indexing::Slice &index) const
 
Tensor intmd_slice (Size d, const indexing::Slice &index) const
 
neml2::Tensor base_slice (Size d, const indexing::Slice &index) const
 
void dynamic_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
 
void dynamic_index_put_ (indexing::TensorIndicesRef indices, const CScalar &v)
 
void intmd_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
 
void intmd_index_put_ (indexing::TensorIndicesRef indices, const CScalar &v)
 
void base_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
 
void base_index_put_ (indexing::TensorIndicesRef indices, const CScalar &v)
 
Tensor dynamic_expand (const TraceableTensorShape &shape) const
 
Tensor intmd_expand (TensorShapeRef shape) const
 
neml2::Tensor base_expand (TensorShapeRef shape) const
 
Tensor batch_expand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape) const
 
neml2::Tensor static_expand (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const
 
Tensor dynamic_expand (const TraceableSize &size, Size d) const
 
Tensor intmd_expand (Size size, Size d) const
 
neml2::Tensor base_expand (Size size, Size d) const
 
Tensor dynamic_expand_as (const neml2::Tensor &other) const
 
Tensor intmd_expand_as (const neml2::Tensor &other) const
 
neml2::Tensor base_expand_as (const neml2::Tensor &other) const
 
Tensor batch_expand_as (const neml2::Tensor &other) const
 
neml2::Tensor static_expand_as (const neml2::Tensor &other) const
 
Tensor dynamic_reshape (const TraceableTensorShape &shape) const
 
Tensor intmd_reshape (TensorShapeRef shape) const
 
neml2::Tensor base_reshape (TensorShapeRef shape) const
 
Tensor batch_reshape (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape) const
 
neml2::Tensor static_reshape (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const
 
Tensor dynamic_squeeze (Size d) const
 
Tensor intmd_squeeze (Size d) const
 
neml2::Tensor base_squeeze (Size d) const
 
Tensor dynamic_unsqueeze (Size d, Size n=1) const
 
Tensor intmd_unsqueeze (Size d, Size n=1) const
 
neml2::Tensor base_unsqueeze (Size d, Size n=1) const
 
Tensor dynamic_transpose (Size d1, Size d2) const
 
Tensor intmd_transpose (Size d1, Size d2) const
 
neml2::Tensor base_transpose (Size d1, Size d2) const
 
Tensor dynamic_movedim (Size old_dim, Size new_dim) const
 
Tensor intmd_movedim (Size old_dim, Size new_dim) const
 
neml2::Tensor base_movedim (Size old_dim, Size new_dim) const
 
Tensor dynamic_flatten () const
 
Tensor intmd_flatten () const
 
neml2::Tensor base_flatten () const
 
Tensor batch_flatten () const
 Flatten batch dimensions.
 
neml2::Tensor static_flatten () const
 Flatten static dimensions.
 

Static Public Member Functions

static OptionSet expected_options ()
 
- Static Public Member Functions inherited from UserTensorBase< Tensor >
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from Tensor
static Tensor create (const TensorDataContainer &data, const TensorOptions &options=default_tensor_options())
 Arbitrary (unbatched) tensor from a nested container.
 
static Tensor create (const TensorDataContainer &data, Size dynamic_dim, Size intmd_dim=0, const TensorOptions &options=default_tensor_options())
 Arbitrary tensor from a nested container.
 
static Tensor identity (Size n, const TensorOptions &options=default_tensor_options())
 Identity tensor.
 
static Tensor empty (TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor empty (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor zeros (TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor zeros (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor ones (TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor ones (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor full (TensorShapeRef base_shape, const CScalar &init, const TensorOptions &options=default_tensor_options())
 
static Tensor full (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, TensorShapeRef base_shape, const CScalar &init, const TensorOptions &options=default_tensor_options())
 
static Tensor rand (TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
static Tensor rand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, TensorShapeRef base_shape, const TensorOptions &options=default_tensor_options())
 
- Static Public Member Functions inherited from TensorBase< Tensor >
static Tensor empty_like (const Tensor &other)
 
static Tensor zeros_like (const Tensor &other)
 Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Tensor ones_like (const Tensor &other)
 Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Tensor full_like (const Tensor &other, const CScalar &init)
 
static Tensor rand_like (const Tensor &other)
 

Protected Member Functions

Tensor make () const override
 Create the tensor given input options.
 
- Protected Member Functions inherited from UserTensorBase< Tensor >
- Protected Member Functions inherited from TensorBase< Tensor >
void validate_shapes_and_dims () const
 Validate shapes and dimensions.
 

Additional Inherited Members

- Static Protected Member Functions inherited from UserTensorBase< Tensor >
static std::string tensor_type ()
 A human-readable description of the tensor type.
 

Constructor & Destructor Documentation

◆ IdentityTensor()

IdentityTensor ( const OptionSet & options)

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static

◆ make()

Tensor make ( ) const
overrideprotectedvirtual

Create the tensor given input options.

Implements UserTensorBase< Tensor >.