Enter forum description here ...
0
Completed

Error occurs when multiplying function's results with mps - -

Harry Li 10 years ago updated by Pavel Holoborodko 10 years ago 2
Image 5
All variables including d1n, d2n are mps, and N(.) is the normcdf written by myself.

Either (-n*cx)*(L2/L1)^(n*cx)/L1, or '( N(d1n)-N(d2n) )' can be shown on the matlab. But when I multiply them all, the result is error. Can someone help me with that?

The following is the function N(.)
Image 6
0
Answered

eigenvalues/vectors of asymmetric matrix

Gang Yan 12 years ago updated by Pavel Holoborodko 12 years ago 1

I am using an old version (more than 2 years ago) and can not compute the eigenvalues/vectors of asymmetric matrix. I do not know whether it can be computed in the new version. If not, please develop one. Appreciate it!

0
Fixed

Roots of negative numbers

Michael_ 10 years ago updated by Pavel Holoborodko 10 years ago 2
Hello.

The following statement does not work in multiprecision:

mp(-1)^(1/2) = nan

sqrt(mp(-1)) = 0 + 1i (but this is only an option for the square root)

Maybe it is not a Bug, but it is real necessary to implement it.

Thank you.
0
Completed

Memory leak?

伊藤一帆 10 years ago updated by Pavel Holoborodko 10 years ago 5
Hi,
On my Windows 64bit and Linux systems with MP ver.3.7.9 and 3.8.0, running the following code causes a strange memory usage that increases linearly and blows up, as the for-loop goes:

mp.Digits(34);
A=mp(ones(1000));
for k=1:1000
A=A.^2;
end
0
Completed

Use of Polyeig function

Ajay Manwani 10 years ago updated 10 years ago 2
Could you please provide an example of polyeig function. I would like to calculate eigen value as
A0=mp(rand(100)); A1 =mp(rand(100)); A2 =mp(randn(100))
[V,D]= polyeig(A0,A1,A2);
But this gives error
Index exceeds matrix dimensions.
Error in ==>
C:\Users\lAPi\Documents\Multiprecision
Computing Toolbox\lib\mppolyeig.p>mppolyeig
at 53

Error in ==> mp>mp.polyeig at 2691
[varargout{1:nargout}] =
mppolyeig(varargin{:});


Error in ==> trial_current_mt_highk at 255
[V,D]= polyeig(A0,A1,A2);
0
Fixed

reshape sparse matrix

Adam Rançon 10 years ago updated 10 years ago 10
Hello,

it seems that there is a problem when trying to reshape mp sparse matrices. For example, the code

toto=mp(rand(16,16));
reshape(toto,4,4^3)

does work (not a sparse matrix). But

toto=mp(sprand(16,16,0.3));
reshape(toto,4,4^3)

crashes Matlab (has to be closed and restarted completely). Would it be possible to correct this, as reshaping is one of the basic tools ?

Thanks,

Adam
0
Answered

Exchanging a value in a double precision array

Michael_ 9 years ago updated by Pavel Holoborodko 9 years ago 2
Hello.

I am not sure if the following is really intended:

Adding a mp number to a double number:
a=mp('1.1');
b=1.1;
test=a+b;

The variable test is a mp number, so the variable 'b' was cast to mp.
If I assign a mp number to a double array, it will be cast to double.

A=1:10;
A(1,1)=A(1,1)+a;

The array A is still double.
Probably this is done intentionally, but I think it was different in an older version. (I have the newest one)

Best regards,
Michael
0
Answered

Invalid MEX-file

Adam Rancon 10 years ago updated by Pavel Holoborodko 10 years ago 4
Hi,

I'm trying to run my program using the toolbox on a cluster running on Linux (I use the corresponding version of the toolbox). Unfortunately I get the error "Invalid MEX-file mpimpl.mexa64: ELF file OS ABI invalid".
The version of Matlab on the cluster is R2011b. Could this be the problem ?

(As a side question, would the toobox work on Octave ?)

Thanks,

Adam

0
Planned

Speed Comparison to MATLAB Double Precision

Sarcastic Processor 10 years ago updated by Pavel Holoborodko 8 years ago 15
I see speed comparisons vs. MAPLE. Do you have speed comparisons (slowdown factor) vs. MATLAB double precision? Thanks.
0
Fixed

Spare matrix division by a scalar

Adam Rancon 10 years ago updated by Pavel Holoborodko 10 years ago 7
I have a problem when I try to divide a sparse matrix by a scalar. These few lines work perfectly in Matlab
norm0=max(abs(M(:)))
M=M/norm0
where M is a (possibly sparse) matrix.
Using the toolbox, it only works if M is full, and for a sparse matrix I get

One or more output arguments not assigned during call to "mpimpl".
Error in / (line 1055)
r = mpimpl(35,x,y);


Is there a way to get around that efficiently ?

Also, is there any chances that the function svds will be implemented soon ?

Adam