Version 0.2.0

Differences to Version 0.1.0

svds module

tensornet.svd() has new input parameters and less returns:

svd(tensor, u_indices, v_indices, chi=0, tol=0.0, relative=True, minimum=True, descriptions=[None]*4, names=["u","s","v"])
Returns:u,s,v
Return type:tensornet.tensor.Tensor

tensornet.svd_factorize() has been added:

single_svd_factorize(tensor, u_index, v_index=2, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v", descriptions=[None]*4, names=["u","s","v"])
Returns:u, [s,] v
Return type:tensornet.tensor.Tensor

tensornet.svd_and_plug() has new input parameters and less returns:

contract_and_svd(first_tensor, first_index, second_tensor, second_index, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v")
Returns:u,v
Return type:tensornet.tensor.Tensor

tensornet.svd_and_plug() has new input parameters and less returns:

svd_and_plug(first_tensor, first_index, second_tensor, second_index, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v")
Returns:u,v
Return type:tensornet.tensor.Tensor

other

There are several additional methods and functions. However, they are not garanteed by automated testing and might be included in later 0.2.x versions.

Differences Compared to DKilda Commit from 2019-03-08

svds module

tensornet.svd() change parameter names:

svd(tensor, u_indices, v_indices, chi=0, tol=0.0, relative=True, minimum=True, descriptions=[None]*4, names=["u","s","v"])
Returns:u,s,v
Return type:tensornet.tensor.Tensor

tensornet.svd_factorize() change parameter names:

svd_factorize(tensor, u_indices, v_indices, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v", descriptions=[None]*4, names=["u","s","v"])
Returns:u, [s,] v
Return type:tensornet.tensor.Tensor

tensornet.single_svd_factorize() has been added:

single_svd_factorize(tensor, u_index, v_index=2, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v", descriptions=[None]*4, names=["u","s","v"])
Returns:u, [s,] v
Return type:tensornet.tensor.Tensor

tensornet.svd_and_plug() change parameter names:

contract_and_svd(first_tensor, first_index, second_tensor, second_index, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v")
Returns:u,v
Return type:tensornet.tensor.Tensor

tensornet.svd_and_plug() change parameter names:

svd_and_plug(first_tensor, first_index, second_tensor, second_index, chi=0, tol=0.0, relative=True, minimum=True, ocenter="v")
Returns:u,v
Return type:tensornet.tensor.Tensor