Yes.  Decomposition methods are better ways to do this.

QR is commonly used if memory suffices.  Also, if the system Ax = b is
over-determined, then the related system A'A x = A' b can be solved using
the Cholesky decomposition L L' = A'A where L is lower triangular.

In either case, the idea is that Q and R are both easily inverted (Q' Q = I)
or solved (R and L succumb to forward or backward substitution.

QR decomposition generally results in slightly better accuracy.

LU decomposition is generally not as good as QR decomposition.

All of these methods are far superior to any general matrix inversion.

On Sun, Sep 4, 2011 at 8:30 AM, Tamas Jambor <[email protected]> wrote:

> this is interesting. but the whole idea in this case is to solve a
> linear system using least squares. The standard solution involves
> calculating the inverse of the matrix. what would you suggest in this
> case? we can replace the inverse of the matrix by substituting it with
> some form of decomposition?
>
> On Mon, Jun 27, 2011 at 3:57 PM, Ted Dunning <[email protected]>
> wrote:
> > Formulae that involve the inverse of a matrix can be framed as solving a
> > linear system.  It is almost always more accurate and faster to solve
> that
> > linear system rather than invert the matrix.  Similarly, there may not be
> an
> > actual inverse of the matrix, but there may still be good answers to the
> > problem.
> >
> > Commonly a good way to solve the system is using a decomposition.  Many
> > decompositions can be framed as inverses without actually calculating the
> > inverse.  For instance, QR decomposition allows left or right
> multiplication
> > by the inverse of a matrix because R has a special form and Q is a unit
> > matrix.
> >
> > On Mon, Jun 27, 2011 at 12:36 AM, Tamas Jambor <[email protected]>
> wrote:
> >
> >> how does that relate the inverse of the matrix?
> >>
> >>
> >> On Thu, Jun 23, 2011 at 5:53 PM, Ted Dunning <[email protected]>
> >> wrote:
> >> > Inverting a matrix is a bug.
> >> >
> >> > You should always use a decomposition method to solve a linear system.
> >>  QR
> >> > is usually a good candidate.
> >> >
> >> > On Thu, Jun 23, 2011 at 8:19 AM, Sebastian Schelter (JIRA)
> >> > <[email protected]>wrote:
> >> >
> >> >>
> >> >>    [
> >> >>
> >>
> https://issues.apache.org/jira/browse/MAHOUT-737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13053918#comment-13053918
> >> ]
> >> >>
> >> >> Sebastian Schelter commented on MAHOUT-737:
> >> >> -------------------------------------------
> >> >>
> >> >> I had a quick look at the patch, seems like most of the stuff could
> also
> >> be
> >> >> handled by Mahout's matrix code. There's only one issue, do we have
> code
> >> to
> >> >> invert a matrix?
> >> >>
> >> >> > Implicit Alternating Least Squares SVD
> >> >> > --------------------------------------
> >> >> >
> >> >> >                 Key: MAHOUT-737
> >> >> >                 URL:
> https://issues.apache.org/jira/browse/MAHOUT-737
> >> >> >             Project: Mahout
> >> >> >          Issue Type: Improvement
> >> >> >            Reporter: Tamas Jambor
> >> >> >            Assignee: Sebastian Schelter
> >> >> >         Attachments: MAHOUT-737.patch, MAHOUT-737.patch
> >> >> >
> >> >> >
> >> >> > I am sharing this Java implementation of mine that is based on the
> >> paper
> >> >> - Collaborative Filtering with Implicit Datasets. The implementation
> is
> >> >> multi-treading and can be easily extended to use it on Hadoop. In
> fact
> >> this
> >> >> approach would possibly work with non-implicit datasets, but further
> >> testing
> >> >> is needed. The algorithm is tried and tested on an implicit
> TV-viewing
> >> >> dataset, and the performance was pretty good (details to follow).
> >> >>
> >> >> --
> >> >> This message is automatically generated by JIRA.
> >> >> For more information on JIRA, see:
> >> http://www.atlassian.com/software/jira
> >> >>
> >> >>
> >> >>
> >> >
> >>
> >
>

Reply via email to