There is a [Q,R] = qr(A,0) function in Matlab, which, according to documentation, returns an "economy" version of qr-decomposition of A. norm(A-Q*R) returns ~1e-12 for my data set. Also Q'*Q should theoretically return I. In practice there are small nonzero elements above and below the diagonal (of the order of 1e-6 or so), as well as diagonal elements that are slightly greater than 1 (again, by 1e-6 or so). Is anyone aware of a way to control precision of qr(.,0), or quality(orthogonality) of resulting Q, either by specifying epsilon, or via the number of iterations ? The size of the data set makes qr(A) run out of memory so I have to use qr(A,0).
Matlab, economy QR decomposition, control precision?
892 Views Asked by AlexK At
1
There are 1 best solutions below
Related Questions in MATLAB
- How to open and read video stream in Matlab
- Interpolation and replace zeroes
- How can I fix my code to do line by line conditional statements in Matlab
- matlab crash during acquisition of pointgrey images
- Calling text file
- Apply gaussian filter on text
- re-plotting of data on same GUI axes in matlab
- Issue with nume1 in MATLAB
- Multiply two variables in Matlab with vpa - high precision
- ODE - Solving Parameter Dependent on Variable [Matlab]
- Need help in detecting multiple blobs
- How does TIC TOC in matlab work?
- Image based steganography that survives resizing?
- lowering computaional cost in finding the location of minimum distance
- FFT Filtering of signal
Related Questions in DECOMPOSITION
- Do software engineers in general have no idea about Software Architecture Design?
- Is the decomposition reversible for relational databases
- Greedy algorithm for finding a negafibonacci representation of a number?
- How to set constraints for non-negativity in parallel factor analysis using the multiway package in R?
- Pyomo Variable with Bounds=(0.0, None) getting a Minus Value
- MatLab : chol Matrix must be positive definite
- Decompose undirected graph to minimum paths and cycles
- Solving optimisation sub-instances in Parallel, using Pyomo ( Traceback )
- Quadtree issue - storing redundant info
- Quadtree decomposition on non square image
- Library for PARAFAC decomposition
- should this method be decomposed into separate methods?
- Convert a decomposed time series matrix to a list of vectors in R?
- How can we check if a matrix is PSD is PyTorch?
- How to draw a decomposition and composition for a method?
Related Questions in ORTHOGONAL
- UML behavioral state diagram: entry and exit point ownership implications for orthogonal states
- Principal Component Analysis - why eigenvectors' dot product aren't zeros?
- Software Testing-- orthagonal array Testing algorithm
- What is an "orthogonal linked list"?
- converting 2D perlin-noise into brick wall texture?
- Get random 2D slices from a 3D NumPy array orthogonally across each dimension
- How can I permit overlapping edges in Graphviz?
- Matlab, economy QR decomposition, control precision?
- Loss function forcing orthogonality for the encoding of an autoencoder (NPCA)
- Orthogonal, Mean-Invariant Matrix Generation Between Python and Matlab
- Orthogonality of a 4x4 matrix
- taking input in a matrix of variable size in c++
- OpenGL spectrum between perspective and orthogonal projection
- How can I make the glOrtho parallelepiped rotating?
- What impact does using these facilities have on orthogonality?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
When I try the non- economy setting, I actually get comparable results for A-Q*R. Even for a tiny matrix containing small numbers as shown here:
As such I don't believe the 'economy' is the problem as confirmed by @horchler in the comments, but that you have just ran into the limits of how accurate calculations can be done with data of type 'double'.
Even if you change the accuracy somehow, you will always be dealing with an approximation, so perhaps the first thing to consider here is whether you really need greater accuracy than you already have. If you need more accuracy there may always be a way, but I doubt whether it will be a straightforward one.