1#![warn(missing_docs)]
25
26pub mod col_major_array;
27pub use col_major_array::{ColMajorArray, ColMajorArrayMut, ColMajorArrayRef};
28
29pub mod any_scalar;
32pub mod global_default;
33pub mod index_like;
34pub mod scalar;
35pub mod smallstring;
37pub mod tagset;
39pub mod truncation;
40
41pub use scalar::CommonScalar;
42
43pub mod defaults;
45
46pub use defaults::index;
49
50pub use defaults::{DefaultIndex, DefaultTagSet, DynId, DynIndex, Index, TagSet};
51pub use index_like::{ConjState, IndexLike};
52
53pub mod index_ops;
55pub use index_ops::{
56 check_unique_indices, common_ind_positions, common_inds, hascommoninds, hasind, hasinds,
57 noncommon_inds, replaceinds, replaceinds_in_place, union_inds, unique_inds, ReplaceIndsError,
58};
59pub use smallstring::{SmallChar, SmallString, SmallStringError};
60pub use tagset::{Tag, TagSetError, TagSetLike};
61
62pub mod tensor_index;
64pub mod tensor_like;
65
66pub use tensor_index::TensorIndex;
67
68pub mod krylov;
70
71pub mod block_tensor;
73
74pub use defaults::tensordynlen as tensor;
76
77pub use any_scalar::AnyScalar;
78pub use defaults::tensordynlen::{
79 compute_permutation_from_indices, diag_tensor_dyn_len, unfold_split, TensorDynLen,
80};
81pub use tensor4all_tensorbackend::TensorElement;
82pub use tensor4all_tensorbackend::{
83 print_and_reset_native_einsum_profile, reset_native_einsum_profile,
84};
85pub use tensor_like::{
86 Canonical, DirectSumResult, FactorizeAlg, FactorizeError, FactorizeOptions, FactorizeResult,
87 LinearizationOrder, TensorConstructionLike, TensorContractionLike, TensorFactorizationLike,
88 TensorLike, TensorVectorSpace,
89};
90
91pub use defaults::contract::{
92 contract, contract_owned, contract_owned_with_options, contract_pair,
93 contract_pair_with_operand_options, contract_pair_with_options, contract_with_options,
94 outer_product, print_and_reset_contract_profile, reset_contract_profile, tensordot,
95 ContractionOptions, PairwiseContractionOptions,
96};
97pub use defaults::tensordynlen::{
98 print_and_reset_pairwise_contract_profile, reset_pairwise_contract_profile,
99};
100
101pub mod direct_sum {
104 pub use crate::defaults::direct_sum::*;
106}
107pub mod factorize {
108 pub use crate::defaults::factorize::*;
110}
111pub mod qr {
112 pub use crate::defaults::qr::*;
114}
115pub mod svd {
116 pub use crate::defaults::svd::{
118 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with, SvdError,
119 SvdOptions,
120 };
121}
122
123pub use defaults::direct_sum::direct_sum;
125pub use defaults::factorize::{factorize, factorize_full_rank};
126pub use defaults::qr::{default_qr_rtol, qr, qr_with, set_default_qr_rtol, QrError, QrOptions};
127pub use defaults::svd::{
128 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with, SvdError,
129 SvdOptions,
130};
131
132pub use global_default::{GlobalDefault, InvalidRtolError};
134pub use truncation::{
135 DecompositionAlg, InvalidThresholdError, SingularValueMeasure, SvdTruncationPolicy,
136 ThresholdScale, TruncationRule,
137};