Dine kommentarer
Most likely it is possible. If YALMIP code is precision-independent then porting might be easy. Please try to port the functionality you need to MCT.
Or maybe you can suggest authors of YALMIP to check/add compatibility with MCT. All they need is to write precision-independent code, e.g.: https://www.advanpix.com/2016/07/21/how-to-write-precision-independent-code-in-matlab/
This will make sure YALMIP can work with any toolbox.
No, there is no progress on this. High-quality solvers are commercial without access to source code (CPLEX, KNITRO, etc.). So this thread was just a discussion of wishful possibilities, not a realistic commitment/promise for development.
Besides, good solver enabled with extended precision capability would take years of efforts to design and implement. In fact, it would be comparable to toolbox itself by amount of work required. So we need some serious investor to come by and fund this work.
We have fixed the issue in EIGS, see https://www.advanpix.com/documentation/version-history/
The issue was is that for some badly-structured matrices (like pure diagonals or similar very sparse) our two-step re-orthogonalization of Krylov subspace was not enough. Now we use 5-step process with random restarts as a fall-back. Because of this EIGS has became slower (will improve this in next version), but handling of such matrices is much better now.
You can re-download toolbox using the same links provided in after-purchase email. Version of the toolbox are the same, but it has new EIGS.
Hello Eduardo,
Yes, this is possible, but would require special re-distribution license.
At the moment, the "eigs" in toolbox is targeted primarily for solving unsymmetric matrices (where ill-conditioning is the most probable). Symmetric/Hermitian matrices require special handling (to keep the symmetry/Hermitian property, etc.) - but this is not implemented yet in toolbox.
This is in our TODO list for "eigs", but it needs some time to be implemented.
Thank you for the report, investigating...
Yes, unfortunately, this is expected behavior, at least for now. MATLAB doesn't allow overloading sparse data types, so we must use workarounds to add our own sparse matrix type. This comes with copy overhead in each operation (even in indexed access).
That is why, for maximum speed, please try to avoid element-wise access operations for sparse matrices (assignment/reading).
For example, when assembling sparse matrix, generate arrays of non-zeros and their indices separately, and then convert them into sparse matrix using command "sparse".
***
Starting from September, we have been working on new ideas on how to reduce copy-overhead further (now we are using undocumented functions in MATLAB, etc.). I hope this will allow us to reduce timings in future versions.
Not directly, but you can convert required number of bits to decimal digits using simple formula:
>> d = floor(bits*log10(2)); % precision in decimal digits >> mp.Digits(d)
Kundesupport af UserEcho
Hello,
Do you save to "mat" file? It is MATLAB's responsibility to save data/matrices to "mat" files (unless you use mp.wrire/mp.read) .
Please provide minimal, complete, and verifiable example, so that situation can be reproduced.