Your comments

The link on new version of MCT does not work. 

403. That’s an error.

We're sorry, but you do not have access to this page. That’s all we know.

I came across YALMIP project (MATLAB optimization environment), and there is REFINER: Built-in layer for arbitrary precision linear programming (https://yalmip.github.io/solver/refiner/), which is based on GEM library (https://github.com/jdbancal/gem), which is of course not so sophisticated as MCT.

Could be possible to create modified version of REFINER based on MCT???

I fully understand your final respond. I expected something like this from the beginning of this discussion.

But, there is still open question: What should MATLAB users do in a case of need to perform any kind of optimization with multi-precision support?


The general recommendation is: use suitable optimization solver in pure MATLAB code and then modify it for MCT. But good optimization solvers are mainly not written in pure MATLAB.


So, situation is really bad for anybody who need to solve optimization problem with multi-precision accuracy.

In my case I am solving linear constrained optimization problem, where constraints are defined by exponential functions of optimized parameters. In MATLAB double class I am reaching always overflow problem.

When will be available next release with fixed cross product function?

= R2019b:

    % Calculate cross product
c1 = conj(a(2).*b(3)-a(3).*b(2));
c2 = conj(a(3).*b(1)-a(1).*b(3));
c3 = conj(a(1).*b(2)-a(2).*b(1));

if iscolumn(a) && iscolumn(b)
c = [c1; c2; c3];
else
c = [c1, c2, c3];
end


= R2019b_update3:

   % Calculate cross product
    c1 = a(2).*b(3)-a(3).*b(2);
    c2 = a(3).*b(1)-a(1).*b(3);
    c3 = a(1).*b(2)-a(2).*b(1);
    
    if iscolumn(a) && iscolumn(b)
        c = [c1; c2; c3];
    else
        c = [c1, c2, c3];
    end

>> mp.Info

-------------------------------------------------------------------------------------------------------------

Multiprecision Computing Toolbox, (c) 2008-2019 Advanpix LLC.

Version : 4.7.0 Build 13560

Release : 2019-11-06

Platform : Win64

Processor: Lynnfield (Core i7) / Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz

MachineID: =CD00FF5FEA5F98CD00155D11736DCD6C626D57F933CD0A002700000DCD00FF415B375DAC2465FDC0FC95318A5F4D4B630C0C50B0=

Licensed to: Michal Kvasnicka

Maintenance: 2020-01-20

Open Source Libraries Acknowledgements:

MPIR 3.0.0 C Library for Multiple Precision Integers and Rationals.

MPFR 4.1.0-dev C Library for Multiple-Precision Floating-point computations with correct Rounding.

MPC 1.1.1dev C Library for the Arithmetic of Complex numbers with arbitrary high precision.

ARB 2.17.0 C library for arbitrary-precision ball arithmetic.

MPFR C++ 3.6.6 C++ multi-precision floating point number class.

Eigen 3.2.90 C++ template library for linear algebra.

QRUPDATE 1.1.2 Library for fast updating of QR and Cholesky decompositions.

SLICOT 5.5.0 The Control and Systems Library.

LIBCPUID 0.4.0 CPU identification and feature extraction on the x86.

Boost 1.49.0 Free peer-reviewed portable C++ source libraries.

-------------------------------------------------------------------------------------------------------------

Similar problem with R2019b_update3 ... (only Windows platform tested so far)

cross() : 2 <- fail
3 <- fail
9 <- fail
10 <- fail
<- success

Thanks for fast fix!!!