-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove rref #9804
Remove rref #9804
Conversation
From an implementations point of view it's not necessary but I remember that way back when I had linear algebra I used 'rref' for cross checking the results. |
But couldn't you have used |
Yes you can, |
Couldn't this have been left in Base but not exported? I have found it useful at times for checking my work; for example when finding eigenvectors by hand. Maybe not a compelling use case, but I'm sorry to see it removed altogether. |
I don't like that solution. The function is mainly relevant for interactive use so it wouldn't make sense not to export it. I don't think this function use useful enough for inclusion in base. It can be nice to confirm that a result derived by hand is correct, but I don't see that as enough. In particular when there are other and better functions available. Why not use |
I thought you could still manually import unexported functions in an interactive session? I chose this one at random:
Computing eigenvalues was just an example; of course there will always be better ways of checking the final answer, but I see the use of I don't mean to belabor the point, just found it somewhat surprising to find it had disappeared. |
You can do that, but I'm just arguing that we should decide whether a function like this is worth having in base or not and if it is then export it. A function like We try to ensure that functions included in base have a reasonable documentation and works well and |
It would be entirely reasonable to take the deleted definition and put it somewhere else, either in your personal code or in a public package, so it can continue to be used by anyone who wants it. https://github.com/andreasnoack/LinearAlgebra.jl perhaps? |
OK, I see your point about (not) exporting and agree -- it wasn't a well thought out suggestion on my part. So if As an aside, besides Matlab there are a number of other systems that include an |
Maybe. It would be much easier to do that fixing and documentation in a Julia package however, since you wouldn't be as constrained by the development schedule or requirements of base Julia. |
I'd be okay with having it in |
@alanedelman used |
Right. "rref" has no use in real numerical coding, but every use in pedagogy. I haven't quite put my finger on this yet, but I have a bad feeling that we as a group |
Also tutorials in Matlab (et al) which use rref don't "just work" in julia, and you are left disappointed that julia can't do that... whereupon Google points you to: this issue. Of course, having to do |
There's definitely an ongoing unresolved tension between the "everything available by default" setup which is ideal for a teaching language and initial usage, vs the "modularity is good, don't pollute the global namespace" best-practices for software engineering and wanting to create large complex systems. |
@tkelman Once there's #8745 (?) then I don't think it would be a ridiculous burden to require |
@hayd @tkelman "Once there's #8745 (?) then" it seems to be merged. I'm not familiar with this rref, personally, if it is bad to leave it out, I wouldn't mind having it in. I want Julia to succeed for the target (math) audience, mostly because I want Julia to succeed for others and have happy users/critical mass to point to.. I do want to be eventually to not have all the math "baggage".. I think this issue is it: |
@PallHaraldsson: Please be more thoughtful about the commentary you offer. Commentary that you yourself acknowledge is ill-informed harms everyone around you. |
These kinds of comments that imply that "if you don't do X thing that I would like, the language will fail with Y audience (that I'm part of)" are particularly reprehensible. They're overstated, melodramatic, and extortionate. If you have a real case to make for something, make it, otherwise be quiet. |
[Off-topic:] After seeing from Edelman: "Right. "rref" has no use in real numerical coding, but every use in pedagogy." this seemed like rref being dropped might be a mistake, or at least something should be done to make up for it. I see your point @StefanKarpinski, it was however not my intention to push anyone to do anything. What I really meant, and should have said, was "I really want Julia to get the recognition that it already deserves". I would be fine with 1.0 right now with NO changes, that would be good enough for many people and I still hear people waiting for that, such as this CS professor I answered here: By looking that link up I surprisingly saw: "You're now a Most Viewed Writer in Julia (programming language)." Hopefully I'm not saying something I shouldn't say.. I try to be careful about not saying to much there about stuff I know less about, only focusing on use of Julia as a general purpose language. @johnmyleswhite I'm probably ill-informed (I assume you mean because of "not familiar with this rref") and/or was a little hasty answering when I could have stayed quiet, I'm really sorry for the harm. |
Recognition will come from making good decisions, not responding to scare-mongering rhetoric. |
Could rref be put back in Base until a better location is found? It's one of the most basal linear algebra routines. Perhaps not useful in real computations, reduced row echelon form can reveal important matrix structure and hence is essential in the classroom. |
|
I love the drive to reduce the clutter. But I'm teaching linear algebra presently, and I feel it is a real loss that I can't easily point my students to this function in Julia. I strongly agree that this should be in base unless there is a good LinAlg "kitchen sink". |
Not sure it is helpful for your class, but maybe worth pointing out that
Since there is (now) no conflict with Base.rref, this method could also be extended to work with matrices beyond symbolic ones. |
How about making it an extra credit assignment for one of your students to dig up the old code for |
Thanks for the pointer to SymPy! |
I made that package RowEchelon.jl. |
Sure. Feel free to open an issue at |
@blegat Hello there,I'm Monsij.Seeing the possibilities Julia Lang possesses within it,I want to contribute to make it even more diverse.Please guide me in this regard.It will be really helpful for me |
@monsij Perhaps start here |
@miguelraz Thank you very much!! |
Can someone please help me to install the packages from Windows command line.I want to implement rref functionality. It's showing non registered beside every package name when I query Pkg.status().I have installed them manually |
Curently it's showing UndefVarError: rref not defined |
Please use http://discourse.julialang.org for questions. |
@monsij You can open an issue on https://github.com/blegat/RowEchelon.jl to discuss about the functionality you want to add ;) |
@andreasnoack |
Nobody has implemented it. If somebody prepares a PR (and gives it a better name than |
@andreasnoack I don't understand what's missing in |
I don't think this function is useful in base. Better to use
\
.See JuliaLang/LinearAlgebra.jl#131