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

Exchance of complex variables not working #38

Closed
mpollow opened this issue Jan 19, 2014 · 5 comments
Closed

Exchance of complex variables not working #38

mpollow opened this issue Jan 19, 2014 · 5 comments

Comments

@mpollow
Copy link
Contributor

mpollow commented Jan 19, 2014

Trying to use the magic syntax with a variable transfer of a complex matrix using
%%matlab -o Y
gives the following error:

/python/virtualenvs/main/lib/python2.7/site-packages/tables/group.py:1200: UserWarning: problems loading leaf /Y::
the HDF5 class H5T_COMPOUND is not supported yet
The leaf will become an UnImplemented node.
% (self._g_join(childname), exc))

The workaround of storing the real and imaginary part in Matlab, transfer them and combine them later in python works, but is a little cumbersome to do. (I guess this is more a feature request than a bug.)

@arokem
Copy link
Owner

arokem commented Jan 20, 2014

Thanks for reporting! I'd never tested it with complex data-types. It's too
bad that it doesn't just work. We are working on a rather extensive
refactor of the pymatbridge, so once things settle, we can see if we can't
find a good solution for this. Preferably pass the variables around via
IPC, rather than the current solution that uses the file-system (the error
is coming from the underlying HDF5 file library implementing that).

On Sun, Jan 19, 2014 at 11:03 AM, Chilichiller notifications@github.comwrote:

Trying to use the magic syntax with a variable transfer of a complex
matrix using
%%matlab -o Y
gives the following error:

the HDF5 class H5T_COMPOUND is not supported yet
The leaf will become an UnImplemented node.

The workaround of storing the real and imaginary part in Matlab, transfer
them and combine them later in python works, but is a little cumbersome to
do. (I guess this is more a feature request than a bug.)


Reply to this email directly or view it on GitHubhttps://github.com//issues/38
.

@mpollow
Copy link
Contributor Author

mpollow commented Jan 20, 2014

I just checked the HDF5 File created in the tmp-folder. It gets written fine from Matlab, but PyTables cannot open the Matlab-style complex HDF5 file. The package h5py can read this kind of data and could be used instead of PyTables for the task. I will try to implement this for me if not too hard.

Martin

Am 20.01.2014 um 01:01 schrieb Ariel Rokem notifications@github.com:

Thanks for reporting! I'd never tested it with complex data-types. It's too
bad that it doesn't just work. We are working on a rather extensive
refactor of the pymatbridge, so once things settle, we can see if we can't
find a good solution for this. Preferably pass the variables around via
IPC, rather than the current solution that uses the file-system (the error
is coming from the underlying HDF5 file library implementing that).

On Sun, Jan 19, 2014 at 11:03 AM, Chilichiller notifications@github.comwrote:

Trying to use the magic syntax with a variable transfer of a complex
matrix using
%%matlab -o Y
gives the following error:

the HDF5 class H5T_COMPOUND is not supported yet
The leaf will become an UnImplemented node.

The workaround of storing the real and imaginary part in Matlab, transfer
them and combine them later in python works, but is a little cumbersome to
do. (I guess this is more a feature request than a bug.)


Reply to this email directly or view it on GitHubhttps://github.com//issues/38
.


Reply to this email directly or view it on GitHub.

@arokem
Copy link
Owner

arokem commented Jan 20, 2014

Great. Thanks so much for looking into this! Please do submit a pull
request against my master if you find a good solution.

On Sun, Jan 19, 2014 at 4:48 PM, Chilichiller notifications@github.comwrote:

I just checked the HDF5 File created in the tmp-folder. It gets written
fine from Matlab, but PyTables cannot open the Matlab-style complex HDF5
file. The package h5py can read this kind of data and could be used instead
of PyTables for the task. I will try to implement this for me if not too
hard.

Martin

Am 20.01.2014 um 01:01 schrieb Ariel Rokem notifications@github.com:

Thanks for reporting! I'd never tested it with complex data-types. It's
too
bad that it doesn't just work. We are working on a rather extensive
refactor of the pymatbridge, so once things settle, we can see if we
can't
find a good solution for this. Preferably pass the variables around via
IPC, rather than the current solution that uses the file-system (the
error
is coming from the underlying HDF5 file library implementing that).

On Sun, Jan 19, 2014 at 11:03 AM, Chilichiller notifications@github.comwrote:

Trying to use the magic syntax with a variable transfer of a complex
matrix using
%%matlab -o Y
gives the following error:

the HDF5 class H5T_COMPOUND is not supported yet
The leaf will become an UnImplemented node.

The workaround of storing the real and imaginary part in Matlab,
transfer
them and combine them later in python works, but is a little
cumbersome to
do. (I guess this is more a feature request than a bug.)


Reply to this email directly or view it on GitHub<
https://github.com/arokem/python-matlab-bridge/issues/38>
.


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-32727938
.

@mpollow
Copy link
Contributor Author

mpollow commented Jan 20, 2014

I will let you know, if I succeed.

Am 20.01.2014 um 01:50 schrieb Ariel Rokem notifications@github.com:

Great. Thanks so much for looking into this! Please do submit a pull
request against my master if you find a good solution.

On Sun, Jan 19, 2014 at 4:48 PM, Chilichiller notifications@github.comwrote:

I just checked the HDF5 File created in the tmp-folder. It gets written
fine from Matlab, but PyTables cannot open the Matlab-style complex HDF5
file. The package h5py can read this kind of data and could be used instead
of PyTables for the task. I will try to implement this for me if not too
hard.

Martin

Am 20.01.2014 um 01:01 schrieb Ariel Rokem notifications@github.com:

Thanks for reporting! I'd never tested it with complex data-types. It's
too
bad that it doesn't just work. We are working on a rather extensive
refactor of the pymatbridge, so once things settle, we can see if we
can't
find a good solution for this. Preferably pass the variables around via
IPC, rather than the current solution that uses the file-system (the
error
is coming from the underlying HDF5 file library implementing that).

On Sun, Jan 19, 2014 at 11:03 AM, Chilichiller notifications@github.comwrote:

Trying to use the magic syntax with a variable transfer of a complex
matrix using
%%matlab -o Y
gives the following error:

the HDF5 class H5T_COMPOUND is not supported yet
The leaf will become an UnImplemented node.

The workaround of storing the real and imaginary part in Matlab,
transfer
them and combine them later in python works, but is a little
cumbersome to
do. (I guess this is more a feature request than a bug.)


Reply to this email directly or view it on GitHub<
https://github.com/arokem/python-matlab-bridge/issues/38>
.


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-32727938
.


Reply to this email directly or view it on GitHub.

@mpollow
Copy link
Contributor Author

mpollow commented Jan 20, 2014

Thanks for merging my bugfix. Basic complex data transfer from Matlab to Python works now fine. There is still a bug when changing the size of a already transfered variable. I will file another bug report. Actually two. :)

@mpollow mpollow closed this as completed Jan 20, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants