Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do we want to support dtype for different value types explicitly across the data classes? #274

Open
dmdunla opened this issue Sep 28, 2023 · 1 comment
Labels
capability New capability/functionality enhancement New feature or request question Further information is requested
Milestone

Comments

@dmdunla
Copy link
Collaborator

dmdunla commented Sep 28, 2023

This is a more general Issue related to the following:

Many of the methods for our data classes implicitly assume the tensor element types are float or boolean. We inherit some dtype differentiation from numpy, as many of our data classes use numpy.ndarray instances to store the data under the hood. However, this is not addressed explicity, except for in a few cases currently (mostly related to #270 in cases where output tensors contain boolean values.)

Do we want explicitly to support dtype in our data classes in a similar way to how numpy supports dtype?

@dmdunla dmdunla added enhancement New feature or request capability New capability/functionality question Further information is requested labels Sep 28, 2023
@dmdunla dmdunla added this to the Enhancement milestone Sep 28, 2023
@Gabrielcarvfer
Copy link

Gabrielcarvfer commented Apr 12, 2024

I have no idea how hard/how much work it is to do this, but it would be much appreciated, especially for complex types. Having a hard time finding a HOSVD implementation (trying to implement search-free PMI search for MIMO, and we need the complex numbers to estimate the angles and phase of the antenna beams). :)

For my specific case, just needed to add a tenmat.complex() call to get a complex numpy array, and replace the Yk = tenmat.double() for Yk = tenmat.complex(), plus replace the matrix Yk.transpose() with numpy.matrix(Yk).getH() for the hermitian transpose.

Your tensor toolbox for MATLAB was my primary option, but not everyone has a license, so this search-free implementation would probably be unused by people using our network simulator.

Thank you very much for both toolboxes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
capability New capability/functionality enhancement New feature or request question Further information is requested
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants