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, prepare_contraction, prepare_contraction_pairs, replaceinds,
58 replaceinds_in_place, union_inds, unique_inds, ContractionError, ContractionSpec,
59 ReplaceIndsError,
60};
61pub use smallstring::{SmallChar, SmallString, SmallStringError};
62pub use tagset::{Tag, TagSetError, TagSetLike};
63
64pub mod storage {
66 pub use tensor4all_tensorbackend::{
68 make_mut_storage, mindim, AnyScalar, Storage, StorageKind, StorageScalar,
69 StructuredStorage, SumFromStorage,
70 };
71}
72pub mod tensor_index;
73pub mod tensor_like;
74
75pub use tensor_index::TensorIndex;
76
77pub mod krylov;
79
80pub mod block_tensor;
82
83pub use defaults::tensordynlen as tensor;
85
86pub use any_scalar::AnyScalar;
87pub use defaults::tensordynlen::{
88 compute_permutation_from_indices, diag_tensor_dyn_len, unfold_split, RandomScalar,
89 TensorAccess, TensorDynLen,
90};
91pub use storage::{
92 make_mut_storage, mindim, Storage, StorageKind, StructuredStorage, SumFromStorage,
93};
94pub use tensor4all_tensorbackend::TensorElement;
95pub use tensor4all_tensorbackend::{
96 print_and_reset_native_einsum_profile, reset_native_einsum_profile,
97};
98pub use tensor_like::{
99 AllowedPairs, Canonical, DirectSumResult, FactorizeAlg, FactorizeError, FactorizeOptions,
100 FactorizeResult, LinearizationOrder, TensorLike,
101};
102
103pub use defaults::contract;
105pub use defaults::contract::{
106 contract_connected, contract_connected_with_options, contract_multi, contract_multi_owned,
107 contract_multi_with_options, print_and_reset_contract_profile, reset_contract_profile,
108 ContractionOptions,
109};
110
111pub mod direct_sum {
114 pub use crate::defaults::direct_sum::*;
116}
117pub mod factorize {
118 pub use crate::defaults::factorize::*;
120}
121pub mod qr {
122 pub use crate::defaults::qr::*;
124}
125pub mod svd {
126 pub use crate::defaults::svd::{
128 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with, SvdError,
129 SvdOptions,
130 };
131}
132
133pub use defaults::direct_sum::direct_sum;
135pub use defaults::factorize::{factorize, factorize_full_rank};
136pub use defaults::qr::{default_qr_rtol, qr, qr_with, set_default_qr_rtol, QrError, QrOptions};
137pub use defaults::svd::{
138 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with, SvdError,
139 SvdOptions,
140};
141
142pub use global_default::{GlobalDefault, InvalidRtolError};
144pub use truncation::{
145 DecompositionAlg, InvalidThresholdError, SingularValueMeasure, SvdTruncationPolicy,
146 ThresholdScale, TruncationRule,
147};