Vos commentaires

I have just received response from MIT as for FFTW licensing possibilities for non-profit organization (like Advanpix):


Full commercial license is $12500.

License price for non-profits is $8333.


I am still waiting response from NFFT team - I hope for more sensible answer.

At the very least - I will replace calls to FFTW with my code.

I am trying to contact the developers to know what licensing terms available for closed-source projects.


Meanwhile I found that there is pure MATLAB implementation of NFFT:

http://web.eecs.umich.edu/~fessler/irt/irt/nufft/


It was developed by one of the original authors.


I haven't check its source code but chances are that it can be used with toolbox (?).

Thank you for the important details - very interesting!


The main difficulty is not FFTW per se, but licensing terms of NFFT and FFTW.

GNU GPL license doesn't allow usage of these libraries in closed source products.

Alternatively I have to buy extremely expensive commercial licenses for them, $5K+.


This functionality was already requested (by Denis) and I will see what I can do in more details.

Full re-write is needed at the very least to not breach the licensing terms.


Will update you on this (no high hopes for nearest future).

Dear Didier,


Thank you very much for the suggestion!

What would be the most important feature set?

(NFFT has quite a bit of features)

Integer matrices have to be converted to mp only if they participate in floating-point operations later on.


In this particular cases, just convert the matrices to mp after forming them as integers:


% 1. Compute elements of matrices as integers:
% ... (your code from above)

% 2. Convert them to mp:
A = mp(A);
G = mp(G);

% 3. Floating-point code with A and G goes afterwards:
% ...

P.S.

There is no integer matrices in MATLAB (unless you create them with explicit type - zeros(...,'int32')).

By default, zeros, ones, and everything else is created as double matrices. The floating-point is just not shown if number has no fractional part.

Dear Hector,


The A matrix contains NaN elements - and thus SVD cannot be computed:


>> mp.Digits(2000);
>> load Variables1.mat
>> isnan(A)
ans =
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     1     1     0     0
     0     0     1     0     1     1     1
     0     0     1     1     0     1     1
     0     0     0     1     1     0     0
     0     0     0     1     1     0     0

Next version of toolbox will show error message if there are NaN and Inf elements in a matrix.

Dear Hector,

Thank you for your assistance and report.

This issue has been fixed. Please use new version of toolbox - 4.0.0.11247.



Thank you.


Could you please send variables.mat to pavel@advanpix.com?

So that I will be able to reproduce the situation.


Yes, absolutely, this is very essential function. It can be called in two ways:


>> mp.Digits(34);
>> mp('eps')
ans = 
    1.925929944387235853055977942584927e-34
>> mp.eps
ans = 
    1.925929944387235853055977942584927e-34

There are also similar functions (and many others):


>> mp.realmax
ans = 
    1.189731495357231765085759326628007e+4932
>> mp.realmin
ans = 
    3.362103143112093506262677817321753e-4932

Please take a look to the last section on the page: http://www.advanpix.com/documentation/function-reference/