Skip to main content

tensor_train_to_treetn_with_names

Function tensor_train_to_treetn_with_names 

Source
pub fn tensor_train_to_treetn_with_names<T, V>(
    tt: &TensorTrain<T>,
    node_names: Vec<V>,
) -> Result<(TreeTN<TensorDynLen, V>, Vec<DynIndex>)>
where T: TTScalar + TensorElement + Clone, V: Clone + Hash + Eq + Ord + Send + Sync + Debug,
Expand description

Convert a linear-chain simple tensor train into a TreeTN with explicit node names.

The returned site indices are ordered by tensor-train site position, not by sorted node-name order.

ยงExamples

use tensor4all_simplett::{tensor3_from_data, TensorTrain};
use tensor4all_treetn::tensor_train_to_treetn_with_names;

let tt = TensorTrain::new(vec![
    tensor3_from_data(vec![1.0_f64, 2.0], 1, 2, 1),
]).unwrap();

let (treetn, site_indices) =
    tensor_train_to_treetn_with_names(&tt, vec!["site0".to_string()]).unwrap();

assert_eq!(treetn.node_names(), vec!["site0".to_string()]);
assert_eq!(site_indices.len(), 1);