acer

32348 Reputation

29 Badges

19 years, 329 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

 

Yes, LinearAlgebra:-LeastSquares ought use the thin SVD automatically. It deserves an SCR.

While on these topics, there are also other smaller SVDs possible, with other suitable uses. See here on wikipedia, where they get called "thin", "compact", and "truncated".

In image decomposition such as John has described, one might use a "truncated" scheme where just a (possibly very small) number of singular values and corresponding singular vectors are computed. I believe that this can be done using the NAG routines that are demonstrably present in Maple.

> restart:

> infolevel[LinearAlgebra]:=1:

> LinearAlgebra:-SingularValues(<<4.>>,output=U):
SingularValues: "calling external function"
SingularValues: "NAG" hw_f08kef
SingularValues: "NAG" hw_f08kff
SingularValues: "NAG" hw_f08mef

One thing puzzles me, though. When the f08kff documentation talks about the leading n columns of Q, in section 3.2, ought that to be rows of Q instead? (Am I missing something?)

I wouldn't altogether brush off using the normal equations, and it's useful that Alec mentioned it. Maybe LeastSquares could offer three schemes -- normal, QR, and thin SVD -- and clearly document their differences.

acer

@Will That is bad news, to read, "We have plans for adding a way for Moderators to curate the best content on the site, it would be more formal than simply adding a tag. "

Moderation, by a select few hand-picked by Maplesoft, is an innappropriate way in which to curate the best content. There are lots of places in which this is described as a community driven site, and where the rating/ranking schemes are described as community driven. But curation of best content by a select Moderation group goes hard against that, and is antithetical to those stated community-driven goals.

Moderation is fine for controlling spam, removing duplicate posts, adjusting wrongly slotted items, keeping the interpersonal tone polite, etc. But it goes against the widely stated site-vision that the best will bubble to the top.

If you really want to foster an arena of free and community-driven contribution then you have to be very careful about controlling it. Keep in mind that the recent mapleprimes redesign of this site has, in effect, brought about a considerable moderating effect by the site adminitration. (Ie, control over how posts are viewed, followed, ranked, and labelled have all been forcibly changed.)

Curation powers based upon reputation may not be perfect, but at least one can trace it back to the community in some way -- because the community assigns the reputation.

Could an admin please convert this Post to a Question, so that we can up-vote djc's answer (which, btw, is of his usual high quality).

Thanks for the explanation, Will. That's pretty much how I myself had understood it as working.

But for me, I often really do want the "all" view, as I find that I keep going back to threads even when they haven't changed. For example, I'll read some posts and questions during the day, perhaps, and want to respond in the evening or the next day. I think that I do that much more often than I respond immediately upon reading. But by then the posts might have scrolled off of the "Active Conversations" view from the main page (and that link is broken, so I can see farther than what's show on the front page). And I want the posts and questions merged together, etc.

The "unread" view is a neat mechanism, and works as I'd guessed. But I find that I regularly want to look at the complete history of the past day or so, regardless of (and unfiltered by) whether I've already viewed some items.

I appreciate all the effort you've put into this site. Thanks for those other fixes and updates and comments you made earlier today, by the way.

acer

Ouch!

I find it hard to disagree with Jacques's points.

acer

Ouch!

I find it hard to disagree with Jacques's points.

acer

@Alejandro Jakubi Thanks Alejandro. PDEtools, the CAS within a CAS. ;)

More seriously, though, I suspect that the U from LU factorization (or  maybe the U1 from Turing factorization) might be a wise way to go, as it may already allow for Normalizer and Testzero during pivoting, etc. Finding the cases in the parameters by examining the zeros of the diagonal elements, and then constructing corresponding restrictions on the RHS entries doesn't look impossible.

What I was thinking though, was more this: this kind of case solving is important and useful, and the linear system class cannot be the hardest class for attempting it.

acer

@Alejandro Jakubi Thanks Alejandro. PDEtools, the CAS within a CAS. ;)

More seriously, though, I suspect that the U from LU factorization (or  maybe the U1 from Turing factorization) might be a wise way to go, as it may already allow for Normalizer and Testzero during pivoting, etc. Finding the cases in the parameters by examining the zeros of the diagonal elements, and then constructing corresponding restrictions on the RHS entries doesn't look impossible.

What I was thinking though, was more this: this kind of case solving is important and useful, and the linear system class cannot be the hardest class for attempting it.

acer

So, how can one get a robust method to get such piecemeal solutions, organized by special values of parameters (and whatever constraints on the RHS entries ensue)?

A piecewise result might be nice.

> M:=Matrix([[1,0,0,b1],[2,k,0,b2],[m,k,1,b3]]):

> LinearAlgebra:-LinearSolve(M);

                          [          b1          ]
                          [                      ]
                          [       2 b1 - b2      ]
                          [     - ---------      ]
                          [           k          ]
                          [                      ]
                          [-m b1 + b3 + 2 b1 - b2]

> solve(LinearAlgebra:-GenerateEquations(M,[x1,x2,x3]),
>       [x1,x2,x3],AllSolutions,ConditionalSolutions);

   [[                2 b1 - b2                             ]]
   [[x1 = b1, x2 = - ---------, x3 = -m b1 + b3 + 2 b1 - b2]]
   [[                    k                                 ]]

> solve(LinearAlgebra:-GenerateEquations(eval(M,[k=0,b1=b2/2]),[x1,x2,x3]),
>       [x1,x2,x3]);

            [[     1                        1     ]]
            [[x1 = - b2, x2 = x2, x3 = b3 - - m b2]]
            [[     2                        2     ]]

How can that last result be nicely obtained, without having to know the special value k=0 and the constraint b1=b2/2 in advance?

Of course, throw just a few more unknowns into Matrix M and the result might quickly become huge and unwieldy. But for smaller, simpler examples it migh tbe nice to have.

acer

So, how can one get a robust method to get such piecemeal solutions, organized by special values of parameters (and whatever constraints on the RHS entries ensue)?

A piecewise result might be nice.

> M:=Matrix([[1,0,0,b1],[2,k,0,b2],[m,k,1,b3]]):

> LinearAlgebra:-LinearSolve(M);

                          [          b1          ]
                          [                      ]
                          [       2 b1 - b2      ]
                          [     - ---------      ]
                          [           k          ]
                          [                      ]
                          [-m b1 + b3 + 2 b1 - b2]

> solve(LinearAlgebra:-GenerateEquations(M,[x1,x2,x3]),
>       [x1,x2,x3],AllSolutions,ConditionalSolutions);

   [[                2 b1 - b2                             ]]
   [[x1 = b1, x2 = - ---------, x3 = -m b1 + b3 + 2 b1 - b2]]
   [[                    k                                 ]]

> solve(LinearAlgebra:-GenerateEquations(eval(M,[k=0,b1=b2/2]),[x1,x2,x3]),
>       [x1,x2,x3]);

            [[     1                        1     ]]
            [[x1 = - b2, x2 = x2, x3 = b3 - - m b2]]
            [[     2                        2     ]]

How can that last result be nicely obtained, without having to know the special value k=0 and the constraint b1=b2/2 in advance?

Of course, throw just a few more unknowns into Matrix M and the result might quickly become huge and unwieldy. But for smaller, simpler examples it migh tbe nice to have.

acer

This is homework, yes?

Were you looking for an easy way for Maple to get the two results?

Or were you looking for hints about how to show it "by hand", without Maple?

Or...?

acer

I love submitting, only to find that I've been scooped!

But if it's by Robert, I feel less bad about it.  ;)

acer

I love submitting, only to find that I've been scooped!

But if it's by Robert, I feel less bad about it.  ;)

acer

It seems that you can get it from the alternate maplenet "save" url, even though it is .mws (which surprised me!).

See here.

acer

Ok, thanks Robert. An optional keyword parameter to Statistics:-NonlinearFit might do, such as {globalsearch::truefalse:=false}. The interactive Optimization assistant has something like this, a checkbox for global searching (applied to NLP solving, say). So it would be nice if the non-interactive components which use Optmization, such as Fit and NonlinearFit, could also get such options.

acer

First 456 457 458 459 460 461 462 Last Page 458 of 592