latest version is not compatible with R2018a for linux
>> mp
Invalid MEX-file '/home/kva/Documents/MATLAB/AdvanpixMCT/mpimpl.mexa64': /home/kva/Documents/MATLAB/AdvanpixMCT/mpimpl.mexa64: undefined symbol:
_Z19mxGetPropertySharedPK11mxArray_tagmPKc.
Error in mp (line 1255)
if nargin == 0, this.id = mpimpl(0); % create mp-entity of default precision
The latest version of AdvanpixMCT 4.4.6.12719 is not compatible with Matlab R2018a (linux version). Please could you fix it?
Performance of besselh function
Hello Pavel.
I noticed some performance issues with the besselh-function.
I used mp.Digits(34), mp.GuardDigits(0) and got the following
value=mp(rand(100,100));
tic
value1=besselh(mp('2'),2,mp('1i').*value);
toc
tic
value2=besselj(mp('2'),mp('1i').*value)-mp('1i')*bessely(mp('2'),mp('1i').*value);
toc
tic
value3=besselk(mp('2'),-value)*mp('2')/(mp('1i')*mp('pi'));
toc
Elapsed time is 3.986968 seconds.
Elapsed time is 1.879375 seconds.
Elapsed time is 0.772351 seconds.
which gives of course the same results for value1, value2 and value3. Any possibilty to enhance the performance of besselh to that of besselk?
Best regrads,
Michael
Will the Multiprecision Computing Toolbox work under WindowsXP x32?
Will the Multiprecision Computing Toolbox work under WindowsXP x32?
Bug in function isreal
Hello Pavel.
I found another bug in the isreal() function.
If we store real and complex data in the same array, the function isreal() gives always 0, even for entries with 0 imaginary part.
test(1,1)=mp('1i');
test(1,2)=mp('1');
isreal(test(1,1))
isreal(test(1,2))
ans =
logical
0
ans =
logical
0
This is differnt compared to the standard Matlab behaviour:
test(1,1)=1i;
test(1,2)=1;
isreal(test(1,1))
isreal(test(1,2))
ans =
logical
0
ans =
logical
1
Best regards,
Michael
Error in contourf plots
Hello Pavel.
There are some problems with contourf plots "contourf(X,Y,Z,v)" and multiprecision data. Setting the different levels with the parameter "v" does not work properly using multi-precision data. Furthermore using caxis(limits) with multiprecision data leads to an error.
Best regards,
Michael
mp linprog support
Is there any possibility to use matlab function linprog with mp class?
Airy Functions of Imaginary Argument
There appears to be an error in computing the values of Airy functions and their derivatives of purely imaginary argument unless z is exactly 0. For example:
>> z = 1i; [ airy(0, z) airy(1, z) airy(2, z) airy(3, z) ].'
ans =
0.331493305432141 - 0.317449858968444i
-0.432492659841807 + 0.0980478562292432i
0.648858208330395 + 0.344958634768048i
0.135026646710819 - 0.128837386781255i
>> z = mp('1i'); [ airy(0, z) airy(1, z) airy(2, z) airy(3, z) ].'
ans =
0
0
0
0
This bug seems to affect only values of z with exactly zero real part:
>> z = mp('1e-100+1i'); [ airy(0, z) airy(1, z) airy(2, z) airy(3, z) ].'
ans =
0.3314933054321411889845293326171343 - 0.3174498589684437734776429279092585i
-0.4324926598418070993062086217182285 + 0.09804785622924323238379104639440311i
0.648858208330394944584847653172865 + 0.3449586347680483702471086086672932i
0.1350266467108189726991698591958052 - 0.128837386781254879039817640967921i
Mathematica, for comparison
In[9]:= N[ { AiryAi[I], D[AiryAi[x], x] /. x -> I, AiryBi[I], D[AiryBi[x], x] /. x -> I }, 34]
Out[9]= {0.3314933054321411889845293326171343 - 0.3174498589684437734776429279092585 I,
-0.4324926598418070993062086217182286 + 0.0980478562292432323837910463944031 I,
0.6488582083303949445848476531728650 + 0.3449586347680483702471086086672933 I,
0.1350266467108189726991698591958051 - 0.1288373867812548790398176409679211 I}
new releases policy
There are obviously new releases for Windows during last few days, but not the same releases (relevant to same bug) for Linux or OSX.
What is exactly the new releases policy? When will be available latest releases for Linux?
Error using mp/subsasgn: Subscripted assignment dimension mismatch.
The following subscript assignment works fine in MATLAB, but not with the MP-toolbox. Obviously workaround exists, but this type of assignments are truly convenient.
A = zeros(3,3,3);
B = ones(3,1);
A(1,1,:) = B;
A = zeros(3,3,3,'mp');
B = ones(3,1,'mp');
A(1,1,:) = B;
exp() speed windows vs linux comparison
Hi I am trying to compare latest versions MCT exp() speed on two platforms (windows and linux).
Windows:
Windows 7 Pro 64bit, Matlab R2017b, MCT 4.4.4 Build 12668
Linux:
Ubuntu 16.04.3 64bit, Matlab R2017b, MCT 4.4.4 Build 12666
I found very strange results:
rng(1), n = 1000;
A = randn(n); A_mp = mp(A,34);
t = clock; X = exp(A); t_dp = etime(clock, t)
t = clock; X = exp(A_mp); t_mp = etime(clock, t)
Windows:
t_dp =
0.0260
t_mp =
0.0550
Linux:
t_dp =
0.0065
t_mp =
0.2184
Windows and Linux PC has different HW (Linux PC is significantly faster ... see double precision timing), but on linux is quadruple precision computing significantly slower.
Is there some bug in Linux release?
Customer support service by UserEcho