![]() |
IgANet
IGAnets - Isogeometric Analysis Networks
|
Namespaces | |
| namespace | detail |
Classes | |
| class | BlockTensor |
| Forward declaration of BlockTensor. More... | |
| class | BlockTensor< T, Rows > |
| Compile-time rank-1 block tensor (row vector). More... | |
| class | BlockTensor< T, Rows, Cols > |
| Compile-time rank-2 block tensor (matrix). More... | |
| class | BlockTensor< T, Rows, Cols, Slices > |
| Compile-time rank-3 block tensor (tensor). More... | |
| class | BlockTensorCore |
| Compile-time block tensor core. More... | |
| class | FullQualifiedName |
| Full qualified name descriptor. More... | |
| struct | integer_pow |
Computes the power of integer E to the N at compile time. More... | |
| struct | integer_pow< E, 0 > |
| struct | is_shared_ptr |
| Type trait checks if template argument is of type std::shared_ptr<T> More... | |
| struct | is_shared_ptr< std::shared_ptr< T > > |
| struct | is_tuple |
| Type trait for std::tuple type. More... | |
| struct | is_tuple< std::tuple< Ts... > > |
| struct | is_tuple_of_tuples |
| Type trait for std::tuple<std::tuple> type. More... | |
| struct | is_tuple_of_tuples< std::tuple< Ts... > > |
| struct | make_reverse_index_sequence |
| Reverse index sequence. More... | |
| struct | Serializable |
| Serialization prototype. More... | |
| struct | tuple_cat |
| Type trait for concatenating std::tuples. More... | |
| struct | tuple_cat< std::tuple< Ts... >, Tuples... > |
| struct | tuple_cat< T, Tuples... > |
| struct | tuple_cat<> |
| class | uuid |
Concepts | |
| concept | IterativeSolverPreconditioner |
| Specifies the callable interface required by the preconditioned iterative solvers. | |
Typedefs | |
| template<class T > | |
| using | is_tuple_of_tuples_t = is_tuple_of_tuples< T >::type |
| Alias for is_tuple_of_tuples::type. | |
| template<std::size_t N> | |
| using | TensorArray = std::array< torch::Tensor, N > |
| using | TensorArray0 = TensorArray< 0 > |
| using | TensorArray1 = TensorArray< 1 > |
| using | TensorArray2 = TensorArray< 2 > |
| using | TensorArray3 = TensorArray< 3 > |
| using | TensorArray4 = TensorArray< 4 > |
| template<typename... Tuples> | |
| using | tuple_cat_t = tuple_cat< Tuples... >::type |
| Alias for tuple_cat::type. | |
Functions | |
| template<typename T , std::size_t... Dims> | |
| auto | abs (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the absolute value of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | absolute (const BlockTensor< T, Dims... > &input) |
Alias for abs(). | |
| template<typename T , std::size_t... Dims> | |
| auto | acos (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the inverse cosine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | acosh (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the inverse hyperbolic cosine of the elements of input. | |
| template<typename T , typename U , typename V , std::size_t... Dims> | |
| auto | add (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other, V alpha=1.0) |
Returns a new block tensor with the elements of other, scaled by alpha, added to the elements of input. | |
| template<typename T , typename U , typename V , std::size_t... Dims> | |
| auto | add (const BlockTensor< T, Dims... > &input, U other, V alpha=1.0) |
Returns a new block tensor with the elements of other, scaled by alpha, added to the elements of input. | |
| template<typename T , typename U , typename V , std::size_t... Dims> | |
| auto | add (T input, const BlockTensor< U, Dims... > &other, V alpha=1.0) |
Returns a new block tensor with the elements of other, scaled by alpha, added to the elements of input. | |
| template<typename T , typename U , typename V , typename W , std::size_t... Dims> | |
| auto | addcdiv (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &tensor1, const BlockTensor< V, Dims... > &tensor2, W value=1.0) |
Returns a new block tensor with the elements of tensor1 divided by the elements of tensor2, with the result multiplied by the scalar value and added to the elements of input. | |
| template<typename T , typename U , typename V , typename W , std::size_t... Dims> | |
| auto | addcmul (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &tensor1, const BlockTensor< V, Dims... > &tensor2, W value=1.0) |
Returns a new block tensor with the elements of tensor1 multiplied by the elements of tensor2, with the result multiplied by the scalar value and added to the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | angle (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the angle (in radians) of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | arccos (const BlockTensor< T, Dims... > &input) |
Alias for acos(). | |
| template<typename T , std::size_t... Dims> | |
| auto | arccosh (const BlockTensor< T, Dims... > &input) |
Provides the acosh operation. | |
| template<typename T , std::size_t... Dims> | |
| auto | arcsin (const BlockTensor< T, Dims... > &input) |
| Alias for asin(). | |
| template<typename T , std::size_t... Dims> | |
| auto | arcsinh (const BlockTensor< T, Dims... > &input) |
| Alias for asinh(). | |
| template<typename T , std::size_t... Dims> | |
| auto | arctan (const BlockTensor< T, Dims... > &input) |
| Alias for atan(). | |
| template<typename T , std::size_t... Dims> | |
| auto | arctanh (const BlockTensor< T, Dims... > &input) |
| Alias for atanh(). | |
| template<typename T , std::size_t... Dims> | |
| auto | asin (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the arcsine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | asinh (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the inverse hyperbolic sine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | atan (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the arctangent of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | atan2 (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the arctangent of the elements in input and other with consideration of the quadrant. | |
| template<typename T , std::size_t... Dims> | |
| auto | atanh (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the inverse hyperbolic tangent of the elements of input. | |
| auto | bicgstab (const torch::Tensor &A, const torch::Tensor b, int max_iter=1000, double tol=1e-10) |
| Solves the linear system A * x = b using the Bi-Conjugate Gradient Stabilized (BiCGStab) method. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | bitwise_and (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the bitwise AND of the elements of input and other. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | bitwise_left_shift (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the left arithmetic shift of the elements of input by other bits. | |
| template<typename T , std::size_t... Dims> | |
| auto | bitwise_not (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the bitwise NOT of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | bitwise_or (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the bitwise OR of the elements of input and other. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | bitwise_right_shift (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the right arithmetic shift of the element of input by other bits. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | bitwise_xor (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the bitwise XOR of the elements of input and other. | |
| template<typename... Tensors, typename Func > requires (std::invocable<Func, const Tensors &> && ...) | |
| torch::Tensor | cat_tuple_into_tensor (const std::tuple< Tensors... > &tensors, Func &&func, int64_t dim=0) |
| Concatenates the entries of a std::tuple object into a single Torch tensor along the given dimension after applying the callback function. | |
| template<typename... Tensors> | |
| torch::Tensor | cat_tuple_into_tensor (const std::tuple< Tensors... > &tensors, int64_t dim=0) |
| Concatenates the entries of a std::tuple object into a single Torch tensor along the given dimension. | |
| template<typename T , std::size_t... Dims> | |
| auto | ceil (const BlockTensor< T, Dims... > &input) |
| Returns a new block tensor with the ceil of the elements of input, the smallest integer greater than or equal to each element. | |
| auto | cg (const torch::Tensor &A, const torch::Tensor b, int max_iter=1000, double tol=1e-10) |
| Solves the linear system A * x = b using the Conjugate Gradient (CG) method. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | clamp (const BlockTensor< T, Dims... > &input, U min, U max) |
Returns a new block tensor with the elements of input clamped into the range [ min, max ]. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | clip (const BlockTensor< T, Dims... > &input, U min, U max) |
| Alias for clamp(). | |
| template<typename T , std::size_t... Dims> | |
| auto | conj_physical (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the conjugate of the elements of input tensor. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | copysign (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the magnitude of the elements of input and the sign of the elements of other. | |
| template<typename T , std::size_t... Dims> | |
| auto | cos (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the cosine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | cosh (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the hyperbolic cosine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | deg2rad (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the elements of input converted from angles in degrees to radians. | |
| template<typename T , std::size_t... Dims> | |
| auto | digamma (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the logarithmic derivative of the gamma function of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | div (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the elements of input divided by the elements of other. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | divide (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
| Alias for div(). | |
| template<typename T , std::size_t Rows, std::size_t Cols> | |
| auto | dot (const BlockTensor< T, Rows, Cols > &input, const BlockTensor< T, Rows, Cols > &tensor) |
| Returns a new block tensor with the dot product of the two input block tensors. | |
| template<short_t dim = 0, typename T0 , typename T1 > | |
| auto | dotproduct (T0 &&t0, T1 &&t1) |
| Computes the directional dot-product between two tensors with summation along the given dimension. | |
| template<typename T , std::size_t... Dims> | |
| auto | erf (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the error function of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | erfc (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the complementary error function of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | erfinv (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the inverse error function of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | exp (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the exponential of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | exp2 (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the base-2 exponential of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | expit (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the expit (also known as the logistic sigmoid function) of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | expm1 (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the exponential minus 1 of the elements of input. | |
| auto | fgmres (const torch::Tensor &A, const torch::Tensor b, const torch::Tensor &inverse_preconditioner, int max_iter=1000, double tol=1e-10, int restart=30) |
| FGMRES overload taking the inverse preconditioner as a tensor. | |
| template<IterativeSolverPreconditioner Preconditioner> | |
| auto | fgmres (const torch::Tensor &A, const torch::Tensor b, Preconditioner &&preconditioner, int max_iter=1000, double tol=1e-10, int restart=30) |
| Solves A * x = b using restarted, right-preconditioned GMRES. | |
| template<typename T , std::size_t... Dims> | |
| auto | fix (const BlockTensor< T, Dims... > &input) |
| Alias for trunc(). | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | float_power (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the elements of input raised to the power of exponent, elementwise, in double precision. | |
| template<typename T , std::size_t... Dims> | |
| auto | floor (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the floor of the elements of input, the largest integer less than or equal to each element. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | fmod (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the fmod of the elements of input and other. | |
| template<typename T , std::size_t... Dims> | |
| auto | frac (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the fractional portion of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | frexp (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the decomposition of the elements of input into mantissae and exponents. | |
| template<typename T , std::size_t N> | |
| torch::Tensor & | from_xml (const pugi::xml_document &doc, torch::Tensor &tensor, std::string tag="Matrix", int id=0, const std::string &label="", bool alloc=true, int index=-1) |
| Converts an XML document object to a torch::Tensor object. | |
| template<typename T , std::size_t N> | |
| torch::TensorAccessor< T, N > & | from_xml (const pugi::xml_document &doc, torch::TensorAccessor< T, N > &accessor, torch::IntArrayRef sizes, std::string tag="Matrix", int id=0, const std::string &label="", int index=-1) |
| Converts an XML document object to a torch::TensorAccessor object. | |
| template<typename T , std::size_t N, std::size_t M> | |
| utils::TensorArray< M > & | from_xml (const pugi::xml_document &doc, utils::TensorArray< M > &tensors, std::string tag="Matrix", int id=0, bool alloc=true, const std::string &label="") |
| Converts an XML document object to a std::array of torch::Tensor objects. | |
| template<typename T , std::size_t N> | |
| torch::Tensor & | from_xml (const pugi::xml_node &root, torch::Tensor &tensor, std::string tag, int id, const std::string &label, bool alloc, int index) |
| Converts an XML object to a torch::Tensor object. | |
| template<typename T , std::size_t N> | |
| torch::TensorAccessor< T, N > & | from_xml (const pugi::xml_node &root, torch::TensorAccessor< T, N > &accessor, torch::IntArrayRef sizes, std::string tag="Matrix", int id=0, const std::string &label="", int index=-1) |
| Converts an XML object to a torch::TensorAccessor object. | |
| template<typename T , std::size_t N, std::size_t M> | |
| utils::TensorArray< M > & | from_xml (const pugi::xml_node &root, utils::TensorArray< M > &tensors, std::string tag, int id, bool alloc, const std::string &label) |
| Converts an XML object to a std::array of torch::Tensor objects. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | gammainc (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the regularized lower incomplete gamma function of each element of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | gammaincc (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the regularized upper incomplete gamma function of each element of input. | |
| template<typename T > | |
| T | getenv (std::string variable, const T &default_value) |
| Returns the value from an environment variable. | |
| template<typename T > | |
| std::vector< T > | getenv (std::string variable, std::initializer_list< T > default_value) |
| Returns the value from an environment variable. | |
| auto | gmres (const torch::Tensor &A, const torch::Tensor b, int max_iter=1000, double tol=1e-10, int restart=30) |
| Solves A * x = b using restarted GMRES. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | hypot (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
| logit. | |
| template<typename T , std::size_t... Dims> | |
| auto | i0 (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the element-wise zeroth order modified Bessel function of the first kind for each element of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | igamma (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
| Alias for gammainc(). | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | igammac (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
| Alias for gammainc(). | |
| template<typename T , std::size_t... Dims> | |
| auto | imag (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the imaginary values of the elements of input. | |
| template<short_t dim = 0, typename T , typename... Ts> | |
| auto | kronproduct (T &&t, Ts &&...ts) |
| Computes the directional Kronecker-product between two or more tensors along the given dimension. | |
| template<short_t dim = 0, typename T0 , typename T1 > | |
| auto | kronproduct (T0 &&t0, T1 &&t1) |
| Computes the directional Kronecker-product between two tensors along the given dimension. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | ldexp (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the elements of input multiplied by 2**other. | |
| template<typename T , std::size_t... Dims> | |
| auto | lgamma (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the natural logarithm of the absolute value of the gamma function of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | log (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the natural logarithm of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | log10 (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the logarithm to the base-10 of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | log1p (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the natural logarithm of (1 + the elements of input). | |
| template<typename T , std::size_t... Dims> | |
| auto | log2 (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the logarithm to the base-2 of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | logaddexp (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block-vector with the logarithm of the sum of exponentiations of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | logaddexp2 (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block-vector with the logarithm of the sum of exponentiations of the elements of input in base-2. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | logical_and (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the element-wise logical AND of the elements of input and other. | |
| template<typename T , std::size_t... Dims> | |
| auto | logical_not (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the element-wise logical NOT of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | logical_or (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the element-wise logical OR of the elements of input and other. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | logical_xor (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the element-wise logical XOR of the elements of input and other. | |
| template<typename T , typename U , std::size_t N> | |
| constexpr std::array< T, N > | make_array (std::array< U, N > array) |
| Creates a std::array object from another std::array object. | |
| template<typename T , std::size_t N> | |
| constexpr auto | make_array (T value) |
| Creates a std::array object filled with a constant. | |
| template<typename T > | |
| auto | make_shared (T &&arg) |
| Returns a std::shared_ptr<T> object from arg. | |
| auto | minres (const torch::Tensor &A, const torch::Tensor b, int max_iter=1000, double tol=1e-10) |
| Solves A * x = b using MINRES. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | mul (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the product of each element of input and other. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | multiply (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
| Alias for mul(). | |
| template<typename T , std::size_t... Dims> | |
| auto | neg (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the negative of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | negative (const BlockTensor< T, Dims... > &input) |
| Alias for neg(). | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | nextafter (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Return a new block tensor with the next elementwise floating-point value after input towards other. | |
| template<typename T , typename U , std::size_t... TDims, std::size_t... UDims> | |
| bool | operator!= (const BlockTensor< T, TDims... > &lhs, const BlockTensor< U, UDims... > &rhs) |
| Returns true if both compile-time block tensors are not equal. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator* (const BlockTensor< T, Dims... > &lhs, const U &rhs) |
| Multiplies a compile-time block tensor with a scalar and returns a new compile-time block tensor. | |
| template<typename T , typename U , std::size_t Rows, std::size_t Common, std::size_t Cols> | |
| auto | operator* (const BlockTensor< T, Rows, Common > &lhs, const BlockTensor< U, Common, Cols > &rhs) |
| Multiplies one compile-time rank-2 block tensor with another compile-time rank-2 block tensor. | |
| template<typename T , typename U , std::size_t Rows, std::size_t Common, std::size_t Cols, std::size_t Slices> | |
| auto | operator* (const BlockTensor< T, Rows, Common > &lhs, const BlockTensor< U, Common, Cols, Slices > &rhs) |
| Multiplies one compile-time rank-2 block tensor from the left with a compile-time rank-3 block tensor slice-by-slice. | |
| template<typename T , typename U , std::size_t Rows, std::size_t Common, std::size_t Cols, std::size_t Slices> | |
| auto | operator* (const BlockTensor< T, Rows, Common, Slices > &lhs, const BlockTensor< U, Common, Cols > &rhs) |
| Multiplies one compile-time rank-3 block tensor from the left with a compile-time rank-2 block tensor slice-by-slice. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator* (const T &lhs, const BlockTensor< U, Dims... > &rhs) |
| Multiplies a scalar with a compile-time block tensor and returns a new compile-time block tensor. | |
| template<typename T , std::size_t N> | |
| constexpr std::array< T, N > | operator* (std::array< T, N > lhs, std::array< T, N > rhs) |
| Multiplies two std::arrays. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator+ (const BlockTensor< T, Dims... > &lhs, const BlockTensor< U, Dims... > &rhs) |
| Adds one compile-time block tensor to another and returns a new compile-time block tensor. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator+ (const BlockTensor< T, Dims... > &lhs, const U &rhs) |
| Adds a compile-time block tensor to a scalar and returns a new compile-time block tensor. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator+ (const T &lhs, const BlockTensor< U, Dims... > &rhs) |
| Adds a scalar to a compile-time block tensor and returns a new compile-time block tensor. | |
| template<typename T , std::size_t N> | |
| constexpr auto | operator+ (std::array< T, N > array, T data) |
| Appends data to a std::array object. | |
| template<typename T , std::size_t N> | |
| constexpr std::array< T, N > | operator+ (std::array< T, N > lhs, std::array< T, N > rhs) |
| Adds two std::arrays. | |
| template<typename T > | |
| constexpr auto | operator+ (std::vector< T > vector, T data) |
| Appends data to a std::vector object. | |
| template<typename T , std::size_t N> | |
| constexpr auto | operator+ (T data, std::array< T, N > array) |
| Prepends data to a std::array object. | |
| template<typename T > | |
| constexpr auto | operator+ (T data, std::vector< T > vector) |
| Prepends data to a std::vector object. | |
| template<typename T > | |
| constexpr auto | operator+ (T data, torch::ArrayRef< T > array) |
| Prepends data to a torch::ArrayRef object. | |
| template<typename T > | |
| constexpr auto | operator+ (torch::ArrayRef< T > array, T data) |
| Appends data to a torch::ArrayRef object. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator+= (BlockTensor< T, Dims... > &lhs, const BlockTensor< U, Dims... > &rhs) |
| Increments one compile-time block tensor by another. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator+= (BlockTensor< T, Dims... > &lhs, const U &rhs) |
| Increments a compile-time block tensor by a scalar. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator- (const BlockTensor< T, Dims... > &lhs, const BlockTensor< U, Dims... > &rhs) |
| Subtracts one compile-time block tensor from another and returns a new compile-time block tensor. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator- (const BlockTensor< T, Dims... > &lhs, const U &rhs) |
| Subtracts a scalar from a compile-time block tensor and returns a new compile-time block tensor. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator- (const T &lhs, const BlockTensor< U, Dims... > &rhs) |
| Subtracts a compile-time block tensor from a scalar and returns a new compile-time block tensor. | |
| template<typename T , std::size_t N> | |
| constexpr std::array< T, N > | operator- (std::array< T, N > array) |
| Negates all entries of a std::array. | |
| template<typename T , std::size_t N> | |
| constexpr std::array< T, N > | operator- (std::array< T, N > lhs, std::array< T, N > rhs) |
| Subtracts one std::array from another std::array. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator-= (BlockTensor< T, Dims... > &lhs, const BlockTensor< U, Dims... > &rhs) |
| Decrements one compile-time block tensor by another. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | operator-= (BlockTensor< T, Dims... > &lhs, const U &rhs) |
| Decrements a compile-time block tensor by a scalar. | |
| template<typename T , std::size_t N> | |
| constexpr std::array< T, N > | operator/ (std::array< T, N > lhs, std::array< T, N > rhs) |
| Divides one std::array by another std::array. | |
| template<typename T , std::size_t... Dims> | |
| std::ostream & | operator<< (std::ostream &os, const BlockTensorCore< T, Dims... > &obj) |
| Prints (as string) a compile-time block tensor object. | |
| template<typename T , typename U , std::size_t... TDims, std::size_t... UDims> | |
| bool | operator== (const BlockTensor< T, TDims... > &lhs, const BlockTensor< U, UDims... > &rhs) |
Provides the operator== operation. | |
| auto | pbicgstab (const torch::Tensor &A, const torch::Tensor b, const torch::Tensor &inverse_preconditioner, int max_iter=1000, double tol=1e-10) |
| PBiCGStab overload taking the inverse preconditioner as a tensor. | |
| template<IterativeSolverPreconditioner Preconditioner> | |
| auto | pbicgstab (const torch::Tensor &A, const torch::Tensor b, Preconditioner &&preconditioner, int max_iter=1000, double tol=1e-10) |
| Solves the linear system A * x = b using the preconditioned Bi-Conjugate Gradient Stabilized (PBiCGStab) method. | |
| auto | pcg (const torch::Tensor &A, const torch::Tensor b, const torch::Tensor &inverse_preconditioner, int max_iter=1000, double tol=1e-10) |
| PCG overload taking the inverse preconditioner as a tensor. | |
| template<IterativeSolverPreconditioner Preconditioner> | |
| auto | pcg (const torch::Tensor &A, const torch::Tensor b, Preconditioner &&preconditioner, int max_iter=1000, double tol=1e-10) |
| Solves the linear system A * x = b using the preconditioned Conjugate Gradient (PCG) method. | |
| auto | pminres (const torch::Tensor &A, const torch::Tensor b, const torch::Tensor &inverse_preconditioner, int max_iter=1000, double tol=1e-10) |
| PMINRES overload taking the inverse preconditioner as a tensor. | |
| template<IterativeSolverPreconditioner Preconditioner> | |
| auto | pminres (const torch::Tensor &A, const torch::Tensor b, Preconditioner &&preconditioner, int max_iter=1000, double tol=1e-10) |
| Solves A * x = b using preconditioned MINRES. | |
| template<typename T , std::size_t... Dims> | |
| auto | positive (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | pow (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the power of each element in input with exponent other. | |
| template<typename T , std::size_t N> | |
| T | prod (std::array< T, N > array, std::size_t start_index=0, std::size_t stop_index=N - 1) |
| Computes the (partial) product of all std::array entries. | |
| template<typename T , std::size_t... Dims> | |
| auto | rad2deg (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with each of the elements of input converted from angles in radians to degrees. | |
| template<typename T , std::size_t... Dims> | |
| auto | real (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the real values of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | reciprocal (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the reciprocal of the elements of input. | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | remainder (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
Returns a new block tensor with the modulus of the elements of input. | |
| template<typename T , std::size_t N, std::size_t M = 1> | |
| constexpr std::array< T, N - M > | remove_from_back (std::array< T, N > array) |
| Derives a std::array object from a given std::array object dropping the last M entries. | |
| template<typename T , std::size_t N, std::size_t M = 1> | |
| constexpr std::array< T, N - M > | remove_from_front (std::array< T, N > array) |
| Derives a std::array object from a given std::array object dropping the first M entries. | |
| template<std::size_t N, typename T > | |
| constexpr auto | repeat_tuple (const T &value) |
| Returns a std::tuple object with N replications of the given value. | |
| template<typename T , std::size_t... Dims> | |
| auto | round (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the elements of input rounded to the nearest integer. | |
| template<typename T , std::size_t... Dims> | |
| auto | rsqrt (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the reciprocal of the square-root of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | sgn (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the signs of the elements of input, extension to complex value. | |
| template<typename T , std::size_t... Dims> | |
| auto | sigmoid (const BlockTensor< T, Dims... > &input) |
| Alias for expit(). | |
| template<typename T , std::size_t... Dims> | |
| auto | sign (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the signs of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | signbit (const BlockTensor< T, Dims... > &input) |
Tests if each element of input has its sign bit set (is less than zero) or not. | |
| template<typename T , std::size_t... Dims> | |
| auto | sin (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the sine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | sinc (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the normalized sinc of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | sinh (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the hyperbolic sine of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | sqrt (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the square-root of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | square (const BlockTensor< T, Dims... > &input) |
Returns a new block tensor with the square of the elements of input. | |
| template<typename T , typename U , typename V , std::size_t... Dims> | |
| auto | sub (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other, V alpha=1.0) |
| Subtracts other, scaled by alpha, from input. | |
| template<typename T , typename U , typename V , std::size_t... Dims> | |
| auto | subtract (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other, V alpha=1.0) |
| Alias for sub(). | |
| template<typename T , std::size_t N> | |
| T | sum (std::array< T, N > array, std::size_t start_index=0, std::size_t stop_index=N - 1) |
| Computes the (partial) sum of all std::array entries. | |
| template<typename T , std::size_t... Dims> | |
| auto | tan (const BlockTensor< T, Dims... > &input) |
| Returns a new tensor with the tangent of the elements of input. | |
| template<typename T , std::size_t... Dims> | |
| auto | tanh (const BlockTensor< T, Dims... > &input) |
| Returns a new tensor with the hyperbolic tangent of the elements of input. | |
| template<typename... Args> | |
| auto | to_array (Args &&...args) |
| Converts a list of arguments into std::array. | |
| template<std::size_t N, typename T > | |
| std::array< T, N > | to_array (std::vector< T > &&vector) |
| Converts a std::vector object into std::array. | |
| template<typename T , std::size_t N> | |
| auto | to_ArrayRef (const std::array< T, N > &array) |
| Converts a std::array<int64_t, N> to an at::IntArrayRef object. | |
| template<typename T , std::size_t N> | |
| auto | to_json (const torch::Tensor &tensor) |
| Converts a torch::Tensor object to a JSON object. | |
| template<typename T , std::size_t N> | |
| auto | to_json (const torch::TensorAccessor< T, N > &accessor) |
| Converts a torch::TensorAccessor object to a JSON object. | |
| template<typename T , std::size_t N, std::size_t M> | |
| auto | to_json (const utils::TensorArray< M > &tensors) |
| Converts a std::array of torch::Tensor objects to a JSON object. | |
| torch::Tensor | to_sparseCsrTensor (const torch::Tensor &col_indices, const torch::Tensor &values, const torch::IntArrayRef &size) |
| Constructs a sparse-CSR matrix from the column indices, matrix values and the matrix size. | |
| template<std::size_t N> | |
| torch::Tensor | to_sparseCsrTensor (const utils::TensorArray< N > &col_indices, const std::array< int64_t, N > &nbasfuncs, const torch::Tensor &values, const torch::IntArrayRef &size) |
| Constructs a sparse-CSR matrix from the column indices, matrix values and the matrix size. | |
| template<std::size_t N> | |
| torch::Tensor | to_sparseCsrTensor (const utils::TensorArray< N > &knot_indices, const std::array< short, N > °rees, const std::array< int64_t, N > &nbasfuncs, const torch::Tensor &values, const torch::IntArrayRef &size) |
| Constructs a sparse-CSR matrix from the B-spline basis function values evaluated at discrete points (e.g., the Greville abscissae), the corresponding knot_indices (i.e. the list of knot indices that mark the start of the knot span the discrete points fall into), the B-spline degrees and the matrix size. | |
| template<typename... Args> | |
| auto | to_vector (Args &&...args) |
| Converts a list of arguments into std::vector. | |
| template<typename T , std::size_t N> | |
| std::vector< T > | to_vector (std::array< T, N > &&array) |
| Converts a std::array object into std::vector. | |
| template<typename T , std::size_t N> | |
| pugi::xml_node & | to_xml (const torch::Tensor &tensor, pugi::xml_node &root, std::string tag, int id, const std::string &label, int index) |
| Converts a torch::Tensor object to an XML object. | |
| template<typename T , std::size_t N> | |
| pugi::xml_document | to_xml (const torch::Tensor &tensor, std::string tag="Matrix", int id=0, const std::string &label="", int index=-1) |
| Converts a torch::Tensor object to an XML document object. | |
| template<typename T , std::size_t N> | |
| pugi::xml_node & | to_xml (const torch::TensorAccessor< T, N > &accessor, torch::IntArrayRef sizes, pugi::xml_node &root, std::string tag, int id, const std::string &label, int index) |
| Converts a torch::TensorAccessor object to an XML object. | |
| template<typename T , std::size_t N> | |
| pugi::xml_document | to_xml (const torch::TensorAccessor< T, N > &accessor, torch::IntArrayRef sizes, std::string tag="Matrix", int id=0, const std::string &label="", int index=-1) |
| Converts a torch::TensorAccessor object to an XML document object. | |
| template<typename T , std::size_t N, std::size_t M> | |
| pugi::xml_node & | to_xml (const utils::TensorArray< M > &tensors, pugi::xml_node &root, std::string tag, int id, const std::string &label) |
| Converts a std::array of torch::Tensor objects to an XML object. | |
| template<typename T , std::size_t N, std::size_t M> | |
| pugi::xml_document | to_xml (const utils::TensorArray< M > &tensors, std::string tag="Matrix", int id=0, const std::string &label="", int index=-1) |
| Converts a std::array of torch::Tensor objects to an XML object. | |
| template<typename T , std::size_t... Dims> | |
| auto | trunc (const BlockTensor< T, Dims... > &input) |
| Returns a new tensor with the truncated integer values of the elements of input. | |
| template<bool transpose = false, std::size_t N> | |
| auto | VSlice (const utils::TensorArray< N > &index, const std::array< int64_t, N > &start_offset, const std::array< int64_t, N > &stop_offset, const std::array< int64_t, N - 1 > &leading_dim=make_array< int64_t, N - 1 >(1)) |
Vectorized version of torch::indexing::Slice (see https://pytorch.org/cppdocs/notes/tensor_indexing.html). | |
| template<bool transpose = false> | |
| auto | VSlice (torch::Tensor index, int64_t start_offset, int64_t stop_offset) |
Vectorized version of torch::indexing::Slice (see https://pytorch.org/cppdocs/notes/tensor_indexing.html). | |
| template<typename T , typename U , std::size_t... Dims> | |
| auto | xlogy (const BlockTensor< T, Dims... > &input, const BlockTensor< U, Dims... > &other) |
| Computes input * log(other). | |
| template<typename... T> | |
| auto | zip (T &&...seqs) |
Provides the zip operation. | |
Variables | |
| template<class T > | |
| constexpr auto | is_tuple_of_tuples_v = is_tuple_of_tuples<T>::value |
| Alias for is_tuple_of_tuples::value. | |
| template<class T > | |
| constexpr bool | is_tuple_v = is_tuple<T>::value |
| template<typename... Tuples> | |
| constexpr auto | tuple_cat_v = tuple_cat<Tuples...>::value |
| Alias for tuple_cat::value. | |
| class iganet::utils::BlockTensor |
Forward declaration of BlockTensor.
| struct iganet::utils::tuple_cat |
Type trait for concatenating std::tuples.
| struct iganet::utils::tuple_cat< std::tuple< Ts... >, Tuples... > |
| struct iganet::utils::tuple_cat< T, Tuples... > |
| using iganet::utils::is_tuple_of_tuples_t = typedef is_tuple_of_tuples<T>::type |
Alias for is_tuple_of_tuples::type.
| using iganet::utils::TensorArray = typedef std::array<torch::Tensor, N> |
| using iganet::utils::TensorArray0 = typedef TensorArray<0> |
| using iganet::utils::TensorArray1 = typedef TensorArray<1> |
| using iganet::utils::TensorArray2 = typedef TensorArray<2> |
| using iganet::utils::TensorArray3 = typedef TensorArray<3> |
| using iganet::utils::TensorArray4 = typedef TensorArray<4> |
| using iganet::utils::tuple_cat_t = typedef tuple_cat<Tuples...>::type |
Alias for tuple_cat::type.
|
inline |
Returns a new block tensor with the absolute value of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for abs().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the inverse cosine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the inverse hyperbolic cosine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the elements of other, scaled by alpha, added to the elements of input.
Provides the for operation.
| T | Template parameter T. |
| U | Template parameter U. |
| V | Template parameter V. |
| Dims | Template parameter Dims. |
|
inline |
Returns a new block tensor with the elements of other, scaled by alpha, added to the elements of input.
|
inline |
Returns a new block tensor with the elements of other, scaled by alpha, added to the elements of input.
| T | Template parameter T. |
| U | Template parameter U. |
| V | Template parameter V. |
| Dims | Template parameter Dims. |
| input | Input value. |
| other | Second input value. |
| alpha | Scaling factor. |
|
inline |
Returns a new block tensor with the elements of tensor1 divided by the elements of tensor2, with the result multiplied by the scalar value and added to the elements of input.
|
inline |
Returns a new block tensor with the elements of tensor1 multiplied by the elements of tensor2, with the result multiplied by the scalar value and added to the elements of input.
|
inline |
Returns a new block tensor with the angle (in radians) of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for acos().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Provides the acosh operation.
Alias for acosh()`.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for asin().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for asinh().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for atan().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for atanh().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the arcsine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the inverse hyperbolic sine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the arctangent of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the arctangent of the elements in input and other with consideration of the quadrant.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the inverse hyperbolic tangent of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Solves the linear system A * x = b using the Bi-Conjugate Gradient Stabilized (BiCGStab) method.
| A | Value of A. |
| b | Value of b. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Returns a new block tensor with the bitwise AND of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the left arithmetic shift of the elements of input by other bits.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the bitwise NOT of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the bitwise OR of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the right arithmetic shift of the element of input by other bits.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the bitwise XOR of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
| torch::Tensor iganet::utils::cat_tuple_into_tensor | ( | const std::tuple< Tensors... > & | tensors, |
| Func && | func, | ||
| int64_t | dim = 0 |
||
| ) |
Concatenates the entries of a std::tuple object into a single Torch tensor along the given dimension after applying the callback function.
| Tensors | Template parameter Tensors. |
| Func | Template parameter Func. |
| torch::Tensor iganet::utils::cat_tuple_into_tensor | ( | const std::tuple< Tensors... > & | tensors, |
| int64_t | dim = 0 |
||
| ) |
Concatenates the entries of a std::tuple object into a single Torch tensor along the given dimension.
| Tuples | Template parameter Tuples. |
| Tensors | Template parameter Tensors. |
| tensors | Value of tensors. |
| dim | Value of dim. |
|
inline |
Returns a new block tensor with the ceil of the elements of input, the smallest integer greater than or equal to each element.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Solves the linear system A * x = b using the Conjugate Gradient (CG) method.
| A | Value of A. |
| b | Value of b. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Returns a new block tensor with the elements of input clamped into the range [ min, max ].
|
inline |
Alias for clamp().
|
inline |
Concatenates multiple std::array objects.
| T | Template parameter T. |
| N | Template parameter N. |
| arrays | Value of arrays. |
|
inline |
Concatenates multiple std::vector objects.
| Ts | Template parameter Ts. |
| vectors | Value of vectors. |
|
inline |
Provides the concat operation.
| T | Template parameter T. |
| N | Template parameter N. |
| arrays | Value of arrays. |
|
inline |
Provides the concat operation.
| Ts | Template parameter Ts. |
| vectors | Value of vectors. |
|
inline |
Returns a new block tensor with the conjugate of the elements of input tensor.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the magnitude of the elements of input and the sign of the elements of other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the cosine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the hyperbolic cosine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the elements of input converted from angles in degrees to radians.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the logarithmic derivative of the gamma function of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the elements of input divided by the elements of other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Alias for div().
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the dot product of the two input block tensors.
|
inline |
Computes the directional dot-product between two tensors with summation along the given dimension.
| dim | Dimension along which the sum is computed. |
| T0 | Type of the first argument. |
| T1 | Type of the second argument. |
| [in] | t0 | First argument. |
| [in] | t1 | Second argument. |
|
inline |
Returns a new block tensor with the error function of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the complementary error function of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the inverse error function of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the exponential of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the base-2 exponential of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the expit (also known as the logistic sigmoid function) of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the exponential minus 1 of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
FGMRES overload taking the inverse preconditioner as a tensor.
| A | Value of A. |
| b | Value of b. |
| inverse_preconditioner | Value of inverse_preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
| restart | Value of restart. |
|
inline |
Solves A * x = b using restarted, right-preconditioned GMRES.
The preconditioner must return the action of the inverse preconditioner. Setting restart equal to max_iter gives unrestarted GMRES.
| Preconditioner | Template parameter Preconditioner. |
| A | Value of A. |
| b | Value of b. |
| preconditioner | Value of preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
| restart | Value of restart. |
|
inline |
Alias for trunc().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the elements of input raised to the power of exponent, elementwise, in double precision.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the floor of the elements of input, the largest integer less than or equal to each element.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the fmod of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the fractional portion of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the decomposition of the elements of input into mantissae and exponents.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Converts an XML document object to a torch::Tensor object.
| T | Template parameter T. |
| N | Template parameter N. |
| doc | Value of doc. |
| tensor | Tensor to process. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| alloc | Value of alloc. |
| index | Object index. |
|
inline |
Converts an XML document object to a torch::TensorAccessor object.
| T | Template parameter T. |
| N | Template parameter N. |
| doc | Value of doc. |
| accessor | Value of accessor. |
| sizes | Value of sizes. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Converts an XML document object to a std::array of torch::Tensor objects.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| doc | Value of doc. |
| tensors | Value of tensors. |
| tag | Value of tag. |
| id | Object identifier. |
| alloc | Value of alloc. |
| label | Object label. |
|
inline |
Converts an XML object to a torch::Tensor object.
| T | Template parameter T. |
| N | Template parameter N. |
| root | Root XML node. |
| tensor | Tensor to process. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| alloc | Value of alloc. |
| index | Object index. |
|
inline |
Converts an XML object to a torch::TensorAccessor object.
| T | Template parameter T. |
| N | Template parameter N. |
| root | Root XML node. |
| accessor | Value of accessor. |
| sizes | Value of sizes. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Converts an XML object to a std::array of torch::Tensor objects.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| root | Root XML node. |
| tensors | Value of tensors. |
| tag | Value of tag. |
| id | Object identifier. |
| alloc | Value of alloc. |
| label | Object label. |
|
inline |
Returns a new block tensor with the regularized lower incomplete gamma function of each element of input.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the regularized upper incomplete gamma function of each element of input.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
| T iganet::utils::getenv | ( | std::string | variable, |
| const T & | default_value | ||
| ) |
Returns the value from an environment variable.
| T | Template parameter T. |
| variable | Value of variable. |
| default_value | Value of default_value. |
| std::vector< T > iganet::utils::getenv | ( | std::string | variable, |
| std::initializer_list< T > | default_value | ||
| ) |
Returns the value from an environment variable.
| T | Template parameter T. |
| variable | Value of variable. |
| default_value | Value of default_value. |
|
inline |
Solves A * x = b using restarted GMRES.
| A | Value of A. |
| b | Value of b. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
| restart | Value of restart. |
|
inline |
logit.
Given the legs of a right triangle, return its hypotenuse.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the element-wise zeroth order modified Bessel function of the first kind for each element of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for gammainc().
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Alias for gammainc().
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the imaginary values of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Provides the kron operation.
| T0 | Template parameter T0. |
| T1 | Template parameter T1. |
| T | Template parameter T. |
| Ts | Template parameter Ts. |
| t | Value of t. |
| ts | Value of ts. |
|
inline |
Computes the Kronecker-product between two or more tensors.
| T0 | Template parameter T0. |
| T1 | Template parameter T1. |
| t0 | Value of t0. |
| t1 | Value of t1. |
|
inline |
Computes the directional Kronecker-product between two or more tensors along the given dimension.
| dim | Dimension along which the Kronecker-product is computed. |
| T | Type of the first argument. |
| Ts | Types of the variadic arguments. |
| [in] | t | First argument. |
| [in] | ts | Variadic arguments. |
utils::kron.
|
inline |
Computes the directional Kronecker-product between two tensors along the given dimension.
| dim | Dimension along which the Kronecker-product is computed. |
| T0 | Type of the first argument. |
| T1 | Type of the second argument. |
| [in] | t0 | First argument. |
| [in] | t1 | Second argument. |
utils::kron.
|
inline |
Returns a new block tensor with the elements of input multiplied by 2**other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the natural logarithm of the absolute value of the gamma function of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the natural logarithm of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the logarithm to the base-10 of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the natural logarithm of (1 + the elements of input).
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the logarithm to the base-2 of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block-vector with the logarithm of the sum of exponentiations of the elements of input.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block-vector with the logarithm of the sum of exponentiations of the elements of input in base-2.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the element-wise logical AND of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the element-wise logical NOT of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the element-wise logical OR of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the element-wise logical XOR of the elements of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inlineconstexpr |
Creates a std::array object from another std::array object.
| T | Template parameter T. |
| U | Template parameter U. |
| N | Template parameter N. |
| array | Value of array. |
|
inlineconstexpr |
Creates a std::array object filled with a constant.
| T | Template parameter T. |
| N | Template parameter N. |
| value | Value to process. |
|
inline |
Returns a std::shared_ptr<T> object from arg.
| T | Template parameter T. |
| T | Template parameter T. |
| arg | Value of arg. |
|
inline |
Solves A * x = b using MINRES.
| A | Value of A. |
| b | Value of b. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Returns a new block tensor with the product of each element of input and other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Alias for mul().
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns a new block tensor with the negative of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for neg().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Return a new block tensor with the next elementwise floating-point value after input towards other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Returns true if both compile-time block tensors are not equal.
|
inline |
Multiplies a compile-time block tensor with a scalar and returns a new compile-time block tensor.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Multiplies one compile-time rank-2 block tensor with another compile-time rank-2 block tensor.
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Multiplies one compile-time rank-2 block tensor from the left with a compile-time rank-3 block tensor slice-by-slice.
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Multiplies one compile-time rank-3 block tensor from the left with a compile-time rank-2 block tensor slice-by-slice.
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Multiplies a scalar with a compile-time block tensor and returns a new compile-time block tensor.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inlineconstexpr |
Multiplies two std::arrays.
| T | Template parameter T. |
| N | Template parameter N. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Adds one compile-time block tensor to another and returns a new compile-time block tensor.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
Provides the for operation.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
|
inline |
Adds a compile-time block tensor to a scalar and returns a new compile-time block tensor.
Provides the for operation.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
|
inline |
Adds a scalar to a compile-time block tensor and returns a new compile-time block tensor.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inlineconstexpr |
Appends data to a std::array object.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
| data | Value of data. |
|
inlineconstexpr |
Adds two std::arrays.
| T | Template parameter T. |
| N | Template parameter N. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inlineconstexpr |
Appends data to a std::vector object.
| T | Template parameter T. |
| vector | Value of vector. |
| data | Value of data. |
|
inlineconstexpr |
Prepends data to a std::array object.
| T | Template parameter T. |
| N | Template parameter N. |
| data | Value of data. |
| array | Value of array. |
|
inlineconstexpr |
Prepends data to a std::vector object.
| T | Template parameter T. |
| data | Value of data. |
| vector | Value of vector. |
|
inlineconstexpr |
Prepends data to a torch::ArrayRef object.
| T | Template parameter T. |
| data | Value of data. |
| array | Value of array. |
|
inlineconstexpr |
Appends data to a torch::ArrayRef object.
| T | Template parameter T. |
| array | Value of array. |
| data | Value of data. |
|
inline |
Increments one compile-time block tensor by another.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Increments a compile-time block tensor by a scalar.
Provides the for operation.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
|
inline |
Subtracts one compile-time block tensor from another and returns a new compile-time block tensor.
Provides the for operation.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
|
inline |
Subtracts a scalar from a compile-time block tensor and returns a new compile-time block tensor.
|
inline |
Subtracts a compile-time block tensor from a scalar and returns a new compile-time block tensor.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inlineconstexpr |
Negates all entries of a std::array.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
|
inlineconstexpr |
Subtracts one std::array from another std::array.
| T | Template parameter T. |
| N | Template parameter N. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Decrements one compile-time block tensor by another.
| T | Template parameter T. |
| U | Template parameter U. |
| Dims | Template parameter Dims. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Decrements a compile-time block tensor by a scalar.
|
inlineconstexpr |
Divides one std::array by another std::array.
| T | Template parameter T. |
| N | Template parameter N. |
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
|
inline |
Prints (as string) a compile-time block tensor object.
| T | Template parameter T. |
| Dims | Template parameter Dims. |
| os | Output stream. |
| obj | Object to process. |
|
inline |
Provides the operator== operation.
| lhs | Left-hand operand. |
| rhs | Right-hand operand. |
Returns true if both compile-time block tensors are equal.
|
inline |
PBiCGStab overload taking the inverse preconditioner as a tensor.
| A | Value of A. |
| b | Value of b. |
| inverse_preconditioner | Value of inverse_preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Solves the linear system A * x = b using the preconditioned Bi-Conjugate Gradient Stabilized (PBiCGStab) method.
The preconditioner must be callable with a residual tensor and return the action of the inverse preconditioner on that residual.
| Preconditioner | Template parameter Preconditioner. |
| A | Value of A. |
| b | Value of b. |
| preconditioner | Value of preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
PCG overload taking the inverse preconditioner as a tensor.
| A | Value of A. |
| b | Value of b. |
| inverse_preconditioner | Value of inverse_preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Solves the linear system A * x = b using the preconditioned Conjugate Gradient (PCG) method.
The preconditioner must be callable with a residual tensor and return the action of the inverse preconditioner on that residual.
| Preconditioner | Template parameter Preconditioner. |
| A | Value of A. |
| b | Value of b. |
| preconditioner | Value of preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
PMINRES overload taking the inverse preconditioner as a tensor.
| A | Value of A. |
| b | Value of b. |
| inverse_preconditioner | Value of inverse_preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Solves A * x = b using preconditioned MINRES.
A must be symmetric and the preconditioner must be symmetric positive definite. The preconditioner returns the action of its inverse.
| Preconditioner | Template parameter Preconditioner. |
| A | Value of A. |
| b | Value of b. |
| preconditioner | Value of preconditioner. |
| max_iter | Value of max_iter. |
| tol | Value of tol. |
|
inline |
Returns a new block tensor with the input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the power of each element in input with exponent other.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inline |
Computes the (partial) product of all std::array entries.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
| start_index | Value of start_index. |
| stop_index | Value of stop_index. |
|
inline |
Returns a new block tensor with each of the elements of input converted from angles in radians to degrees.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the real values of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the reciprocal of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the modulus of the elements of input.
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
|
inlineconstexpr |
Derives a std::array object from a given std::array object dropping the last M entries.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| array | Value of array. |
|
inlineconstexpr |
Derives a std::array object from a given std::array object dropping the first M entries.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| array | Value of array. |
|
constexpr |
Returns a std::tuple object with N replications of the given value.
| N | Template parameter N. |
| T | Template parameter T. |
| value | Value to process. |
|
inline |
Returns a new block tensor with the elements of input rounded to the nearest integer.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the reciprocal of the square-root of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the signs of the elements of input, extension to complex value.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Alias for expit().
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the signs of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Tests if each element of input has its sign bit set (is less than zero) or not.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the sine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the normalized sinc of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the hyperbolic sine of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
| void iganet::utils::slice_tensor_into_tuple | ( | std::tuple< Tensors... > & | tuple, |
| const torch::Tensor & | tensor, | ||
| FuncSize && | funcSize, | ||
| FuncAssign && | funcAssign, | ||
| int64_t & | offset, | ||
| int64_t | dim = 0 |
||
| ) |
Slices the given tensor into the objects of the std::tuple.
| tuple | Value of tuple. |
| tensor | Tensor to process. |
| funcSize | Value of funcSize. |
| funcAssign | Value of funcAssign. |
| offset | Value of offset. |
| dim | Value of dim. |
| void iganet::utils::slice_tensor_into_tuple | ( | std::tuple< Tensors... > & | tuple, |
| const torch::Tensor & | tensor, | ||
| FuncSize && | funcSize, | ||
| FuncAssign && | funcAssign, | ||
| int64_t | dim = 0 |
||
| ) |
Provides the slice_tensor_into_tuple operation.
| Tensors | Template parameter Tensors. |
| FuncSize | Template parameter FuncSize. |
| FuncAssign | Template parameter FuncAssign. |
| tuple | Value of tuple. |
| tensor | Tensor to process. |
| funcSize | Value of funcSize. |
| funcAssign | Value of funcAssign. |
| dim | Value of dim. |
|
inline |
Returns a new block tensor with the square-root of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new block tensor with the square of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Subtracts other, scaled by alpha, from input.
|
inline |
Alias for sub().
|
inline |
Computes the (partial) sum of all std::array entries.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
| start_index | Value of start_index. |
| stop_index | Value of stop_index. |
|
inline |
Returns a new tensor with the tangent of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Returns a new tensor with the hyperbolic tangent of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Converts a list of arguments into std::array.
| Args | Template parameter Args. |
| args | Value of args. |
|
inline |
Converts a std::vector object into std::array.
| N | Template parameter N. |
| T | Template parameter T. |
| vector | Value of vector. |
|
inline |
Converts a std::array<int64_t, N> to an at::IntArrayRef object.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
|
inline |
Converts a torch::Tensor object to a JSON object.
| T | Template parameter T. |
| N | Template parameter N. |
| tensor | Tensor to process. |
|
inline |
Converts a torch::TensorAccessor object to a JSON object.
| T | Template parameter T. |
| N | Template parameter N. |
| accessor | Value of accessor. |
|
inline |
Converts a std::array of torch::Tensor objects to a JSON object.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| tensors | Value of tensors. |
|
inline |
Constructs a sparse-CSR matrix from the column indices, matrix values and the matrix size.
| [in] | col_indices | Column indices in row-major order. ///. |
| [in] | values | Matrix values in row-major order. |
| [in] | size | Matrix size. |
|
inline |
Constructs a sparse-CSR matrix from the column indices, matrix values and the matrix size.
| N | Size of the column index array. |
| [in] | col_indices | Array of column indices in row-major order. ///. |
| [in] | values | Matrix values in row-major order. |
| [in] | size | Matrix size. |
| nbasfuncs | Value of nbasfuncs. |
|
inline |
Constructs a sparse-CSR matrix from the B-spline basis function values evaluated at discrete points (e.g., the Greville abscissae), the corresponding knot_indices (i.e. the list of knot indices that mark the start of the knot span the discrete points fall into), the B-spline degrees and the matrix size.
| N | Size of the knot index and degree arrays. |
| [in] | knot_indices | List of knot indices marking the start of the knot span the discrete evaluation points fall into. |
| [in] | values | Matrix values in row-major order. |
| [in] | size | Matrix size. |
| degrees | Value of degrees. | |
| nbasfuncs | Value of nbasfuncs. |
|
inline |
Provides the to_tensor operation.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
| options | Configuration options. |
|
inline |
Converts a std::array to torch::Tensor.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
| sizes | Value of sizes. |
| options | Configuration options. |
|
inline |
Provides the to_tensor operation.
| T | Template parameter T. |
| vector | Value of vector. |
| options | Configuration options. |
|
inline |
Converts a std::vector to torch::Tensor.
| T | Template parameter T. |
| vector | Value of vector. |
| sizes | Value of sizes. |
| options | Configuration options. |
|
inline |
Provides the to_tensor operation.
| T | Template parameter T. |
| list | Value of list. |
| options | Configuration options. |
|
inline |
Converts a std::initializer_list to torch::Tensor.
| T | Template parameter T. |
| list | Value of list. |
| sizes | Value of sizes. |
| options | Configuration options. |
| auto iganet::utils::to_tensorAccessor | ( | const BlockTensor< torch::Tensor, Dims... > & | blocktensor, |
| c10::DeviceType | deviceType | ||
| ) |
Provides the to_tensorAccessor operation.
| T | Template parameter T. |
| N | Template parameter N. |
| Dims | Template parameter Dims. |
| blocktensor | Value of blocktensor. |
| deviceType | Value of deviceType. |
| auto iganet::utils::to_tensorAccessor | ( | const TensorArray< M > & | tensorArray | ) |
Converts a std::array of torch::Tensor objects to an array of torch::TensorAccessor objects.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| tensorArray | Value of tensorArray. |
| auto iganet::utils::to_tensorAccessor | ( | const TensorArray< M > & | tensorArray, |
| c10::DeviceType | deviceType | ||
| ) |
Provides the to_tensorAccessor operation.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| tensorArray | Value of tensorArray. |
| deviceType | Value of deviceType. |
| auto iganet::utils::to_tensorAccessor | ( | const torch::Tensor & | tensor | ) |
Converts a torch::Tensor object to a torch::TensorAccessor object.
| T | Template parameter T. |
| N | Template parameter N. |
| tensor | Tensor to process. |
| auto iganet::utils::to_tensorAccessor | ( | const torch::Tensor & | tensor, |
| c10::DeviceType | deviceType | ||
| ) |
Provides the to_tensorAccessor operation.
| T | Template parameter T. |
| N | Template parameter N. |
| T | Template parameter T. |
| N | Template parameter N. |
| tensor | Tensor to process. |
| deviceType | Value of deviceType. |
|
inlineconstexpr |
Provides the function operation.
| Ts | Template parameter Ts. |
| T | Template parameter T. |
|
inlineconstexpr |
Converts a set of std::initializer_list objects to a TensorArray object.
| Ts | Template parameter Ts. |
|
inlineconstexpr |
Provides the function operation.
| Ts | Template parameter Ts. |
| T | Template parameter T. |
|
inlineconstexpr |
Provides the function operation.
| Ts | Template parameter Ts. |
|
inline |
Converts a list of arguments into std::vector.
| Args | Template parameter Args. |
| args | Value of args. |
|
inline |
Converts a std::array object into std::vector.
| T | Template parameter T. |
| N | Template parameter N. |
| array | Value of array. |
|
inline |
Converts a torch::Tensor object to an XML object.
| T | Template parameter T. |
| N | Template parameter N. |
| tensor | Tensor to process. |
| root | Root XML node. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Converts a torch::Tensor object to an XML document object.
| T | Template parameter T. |
| N | Template parameter N. |
| tensor | Tensor to process. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Converts a torch::TensorAccessor object to an XML object.
| T | Template parameter T. |
| N | Template parameter N. |
| accessor | Value of accessor. |
| sizes | Value of sizes. |
| root | Root XML node. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Converts a torch::TensorAccessor object to an XML document object.
| T | Template parameter T. |
| N | Template parameter N. |
| accessor | Value of accessor. |
| sizes | Value of sizes. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Converts a std::array of torch::Tensor objects to an XML object.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| tensors | Value of tensors. |
| root | Root XML node. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
|
inline |
Converts a std::array of torch::Tensor objects to an XML object.
| T | Template parameter T. |
| N | Template parameter N. |
| M | Template parameter M. |
| tensors | Value of tensors. |
| tag | Value of tag. |
| id | Object identifier. |
| label | Object label. |
| index | Object index. |
|
inline |
Returns a new tensor with the truncated integer values of the elements of input.
| T | Block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Block tensor whose elements are transformed. * |
|
inline |
Vectorized version of torch::indexing::Slice (see https://pytorch.org/cppdocs/notes/tensor_indexing.html).
| [in] | index | array of tensors of indices. |
| [in] | start_offset | array of starting value of the offset. |
| [in] | stop_offset | array of stopping value of the offset. |
| [in] | leading_dim | array of leading dimension. |
| transpose | Template parameter transpose. |
| N | Template parameter N. |
|
inline |
Vectorized version of torch::indexing::Slice (see https://pytorch.org/cppdocs/notes/tensor_indexing.html).
Creates a one-dimensional torch::Tensor object of size index.numel() * (stop_offset-start_offset) with the following content.
| [in] | index | Tensor of indices. |
| [in] | start_offset | Starting value of the offset. |
| [in] | stop_offset | Stopping value of the offset. |
| transpose | Template parameter transpose. |
|
inline |
Computes input * log(other).
| T | Left block element type. * |
| U | Right block element type. * |
| Dims | Compile-time block dimensions. * |
| input | Left block tensor. * |
| other | Right block tensor. * |
| auto iganet::utils::zip | ( | T &&... | seqs | ) |
Provides the zip operation.
| seqs | Value of seqs. |
|
inlineconstexpr |
Alias for is_tuple_of_tuples::value.
|
inlineconstexpr |
|
inlineconstexpr |
Alias for tuple_cat::value.