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::multi_index_cache::{
66 CachedBatchError, MultiIndexCache, DEFAULT_RETAINED_BYTE_LIMIT,
67};
68pub use cached_function::CachedFunction;
69pub use error::{MatrixCIError, Result};
70pub use floating_zone::{
71 floating_zone_walk, floating_zone_walk_with_initial_error, FloatingZoneError,
72};
73pub use indexset::{IndexSet, LocalIndex, MultiIndex};
74pub use matrix_luci::{
75 matrix_luci_factors_from_blocks, matrix_luci_factors_from_matrix,
76 matrix_luci_factors_from_matrix_owned, matrix_luci_factors_from_matrix_owned_in,
77 matrix_luci_factors_from_matrix_owned_on_session, matrix_luci_factors_working_bytes,
78 matrix_luci_row_interpolation_owned_in, MatrixLUCI, MatrixLuciFactors,
79 MatrixLuciRowInterpolation,
80};
81pub use matrixaca::MatrixACA;
82pub use matrixlu::{rrlu, rrlu_mut, rrlu_pivots, RrLU, RrLUOptions, RrLUPivots};
83pub use scalar::Scalar;
84pub use traits::AbstractMatrixCI;
85
86pub use scalar::Scalar as CommonScalar;
87
88pub mod defaults;
90
91pub use defaults::index;
94
95pub use defaults::{DefaultIndex, DefaultTagSet, DynId, DynIndex, Index, TagSet};
96pub use index_like::{sort_indices_deterministic, ConjState, IndexLike};
97
98pub mod index_ops;
100pub use index_ops::{
101 check_unique_indices, common_ind_positions, common_inds, has_common_inds, has_inds, hasind,
102 noncommon_inds, replace_indices, replace_indices_mut, union_inds, unique_inds,
103 ReplaceIndsError,
104};
105pub use smallstring::{SmallChar, SmallString, SmallStringError};
106pub use tagset::{Tag, TagSetError, TagSetLike};
107
108pub mod tensor_index;
110pub mod tensor_like;
111
112pub use tensor_index::TensorIndex;
113
114pub mod krylov;
116
117pub mod block_tensor;
119
120pub use defaults::idx_tensor as tensor;
122
123pub use any_scalar::{AnyScalar, AnyScalarError};
124pub use defaults::idx_tensor::{
125 compute_permutation_from_indices, diag_idx_tensor, unfold_split, IdxTensor, IdxTensorError,
126 StructuredSelectorError, TensorStorageError,
127};
128#[cfg(feature = "tenferro-cuda")]
129pub use defaults::IdxTensorCudaError;
130pub use tensor4all_tensorbackend::ExecutionContext;
131pub use tensor4all_tensorbackend::TensorElement;
132pub use tensor4all_tensorbackend::{
133 print_and_reset_native_einsum_profile, reset_native_einsum_profile,
134};
135#[cfg(feature = "tenferro-cuda")]
136pub use tensor4all_tensorbackend::{CudaExecutionContext, CudaExecutionContextError, CUDA_ORDINAL};
137pub use tensor_like::{
138 Canonical, DirectSumResult, FactorizeAlg, FactorizeError, FactorizeOptions, FactorizeResult,
139 LinearizationOrder, TensorConstructionLike, TensorContractionLike, TensorFactorizationLike,
140 TensorLike, TensorVectorSpace, TensorVectorSpaceError,
141};
142
143pub use defaults::contract::{
144 contract, contract_owned, contract_owned_with_options, contract_pair,
145 contract_pair_with_operand_options, contract_pair_with_options, contract_with_options,
146 outer_product, print_and_reset_contract_profile, reset_contract_profile, tensordot,
147 ContractionOptions, PairwiseContractionOptions, PreparedContraction,
148};
149pub use defaults::idx_tensor::{
150 print_and_reset_pairwise_contract_profile, reset_pairwise_contract_profile,
151};
152pub use defaults::{
153 contract_pair_on_session, contract_with_options_on_session, index_select_on_session,
154 inner_product_on_session, norm_on_session, norm_squared_on_session, permute_indices_on_session,
155 permute_on_session, select_indices_on_session, stack_along_new_index_on_session,
156 sum_on_session,
157};
158
159pub mod direct_sum {
162 pub use crate::defaults::direct_sum::*;
164}
165pub mod factorize {
166 pub use crate::defaults::factorize::*;
168}
169pub mod qr {
170 pub use crate::defaults::qr::*;
172}
173pub mod svd {
174 pub use crate::defaults::svd::{
176 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with,
177 svd_with_in, SvdError, SvdOptions,
178 };
179}
180
181pub use defaults::direct_sum::direct_sum;
183pub use defaults::factorize::{
184 factorize, factorize_full_rank, factorize_full_rank_in, factorize_full_rank_on_session,
185 factorize_in, factorize_on_session,
186};
187pub use defaults::qr::{
188 default_qr_rtol, qr, qr_with, qr_with_on_session, set_default_qr_rtol, QrError, QrOptions,
189};
190pub use defaults::svd::{
191 default_svd_truncation_policy, set_default_svd_truncation_policy, svd, svd_with, SvdError,
192 SvdOptions,
193};
194
195pub use global_default::{GlobalDefault, InvalidRtolError};
197pub use truncation::{
198 validate_svd_truncation_options, DecompositionAlg, InvalidThresholdError, SingularValueMeasure,
199 SvdTruncationOptionsError, SvdTruncationPolicy, ThresholdScale, TruncationRule,
200};