1#![warn(missing_docs)]
2#[cfg(doctest)]
26#[doc = include_str!("../README.md")]
27pub struct ReadmeDoctests;
28
29pub mod prelude;
30
31pub mod col_major_array;
32pub use col_major_array::{ColMajorArray, ColMajorArrayMut, ColMajorArrayRef};
33
34pub mod any_scalar;
37pub mod global_default;
38pub mod index_key;
40pub mod index_like;
41pub mod scalar;
42pub mod smallstring;
44pub mod tagset;
46pub mod truncation;
47
48pub mod cached_function;
52pub mod error;
53pub mod floating_zone;
54pub mod indexset;
55mod matrix_luci;
56pub mod matrixaca;
57pub mod matrixlu;
58pub mod matrixluci;
59pub mod traits;
60
61pub use self::matrixluci::MatrixLuciScalar;
62pub use cached_function::cache_key::CacheKey;
63pub use cached_function::error::CacheKeyError;
64pub use cached_function::index_int::IndexInt;
65pub use cached_function::CachedFunction;
66pub use error::{MatrixCIError, Result};
67pub use floating_zone::floating_zone_walk;
68pub use indexset::{IndexSet, LocalIndex, MultiIndex};
69pub use matrix_luci::{
70 matrix_luci_factors_from_blocks, matrix_luci_factors_from_matrix,
71 matrix_luci_factors_from_matrix_owned, MatrixLUCI, MatrixLuciFactors,
72};
73pub use matrixaca::MatrixACA;
74pub use matrixlu::{rrlu, rrlu_mut, RrLU, RrLUOptions};
75pub use scalar::Scalar;
76pub use traits::AbstractMatrixCI;
77
78pub use scalar::Scalar as CommonScalar;
79
80pub mod defaults;
82
83pub use defaults::index;
86
87pub use defaults::{DefaultIndex, DefaultTagSet, DynId, DynIndex, Index, TagSet};
88pub use index_like::{sort_indices_deterministic, ConjState, IndexLike};
89
90pub mod index_ops;
92pub use index_ops::{
93 check_unique_indices, common_ind_positions, common_inds, has_common_inds, has_inds, hasind,
94 noncommon_inds, replace_indices, replace_indices_mut, union_inds, unique_inds,
95 ReplaceIndsError,
96};
97pub use smallstring::{SmallChar, SmallString, SmallStringError};
98pub use tagset::{Tag, TagSetError, TagSetLike};
99
100pub mod tensor_index;
102pub mod tensor_like;
103
104pub use tensor_index::TensorIndex;
105
106pub mod krylov;
108
109pub mod block_tensor;
111
112pub use defaults::idx_tensor as tensor;
114
115pub use any_scalar::{AnyScalar, AnyScalarError};
116pub use defaults::idx_tensor::{
117 compute_permutation_from_indices, diag_idx_tensor, unfold_split, IdxTensor, IdxTensorError,
118 StructuredSelectorError, TensorStorageError,
119};
120#[cfg(feature = "tenferro-cuda")]
121pub use defaults::IdxTensorCudaError;
122#[cfg(feature = "backend-tenferro")]
123pub use tensor4all_tensorbackend::ExecutionContext;
124pub use tensor4all_tensorbackend::TensorElement;
125pub use tensor4all_tensorbackend::{
126 print_and_reset_native_einsum_profile, reset_native_einsum_profile,
127};
128#[cfg(feature = "tenferro-cuda")]
129pub use tensor4all_tensorbackend::{CudaExecutionContext, CudaExecutionContextError, CUDA_ORDINAL};
130pub use tensor_like::{
131 Canonical, DirectSumResult, FactorizeAlg, FactorizeError, FactorizeOptions, FactorizeResult,
132 LinearizationOrder, TensorConstructionLike, TensorContractionLike, TensorFactorizationLike,
133 TensorLike, TensorVectorSpace, TensorVectorSpaceError,
134};
135
136pub use defaults::contract::{
137 contract, contract_owned, contract_owned_with_options, contract_pair,
138 contract_pair_with_operand_options, contract_pair_with_options, contract_with_options,
139 outer_product, print_and_reset_contract_profile, reset_contract_profile, tensordot,
140 ContractionOptions, PairwiseContractionOptions, PreparedContraction,
141};
142pub use defaults::idx_tensor::{
143 print_and_reset_pairwise_contract_profile, reset_pairwise_contract_profile,
144};
145
146pub mod direct_sum {
149 pub use crate::defaults::direct_sum::*;
151}
152pub mod factorize {
153 pub use crate::defaults::factorize::*;
155}
156pub mod qr {
157 pub use crate::defaults::qr::*;
159}
160pub mod svd {
161 pub use crate::defaults::svd::{
163 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with,
164 svd_with_in, SvdError, SvdOptions,
165 };
166}
167
168pub use defaults::direct_sum::direct_sum;
170pub use defaults::factorize::{
171 factorize, factorize_full_rank, factorize_full_rank_in, factorize_in,
172};
173pub use defaults::qr::{default_qr_rtol, qr, qr_with, set_default_qr_rtol, QrError, QrOptions};
174pub use defaults::svd::{
175 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with, SvdError,
176 SvdOptions,
177};
178
179pub use global_default::{GlobalDefault, InvalidRtolError};
181pub use truncation::{
182 validate_svd_truncation_options, DecompositionAlg, InvalidThresholdError, SingularValueMeasure,
183 SvdTruncationOptionsError, SvdTruncationPolicy, ThresholdScale, TruncationRule,
184};