Skip to content
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

improvements to A_mul_B! section of the manual #16702

Merged
merged 1 commit into from
Jul 7, 2016

Conversation

stevengj
Copy link
Member

@stevengj stevengj commented Jun 1, 2016

A student of mine mentioned to me that he had trouble finding the documentation for A_mul_B! in the manual because it was listed under "math" and not "linear algebra". In this PR, I fixed that and then made a few related changes:

  • A_ldiv_B! was exported but not documented, so I added documentation and also added an optional 3-argument version to make it act a bit more like A_mul_B!
  • At_ldiv_B was exported, but not At_ldiv_B!, as noted in rename KSPSolveTranspose! to Base.LinAlg.At_ldiv_B! JuliaParallel/PETSc.jl#70 (closes Export At_ldiv_B! #16425). Similarly for Ac_ldiv_B!. I understand that @andreasnoack has some longer-term plans for ldiv!, but in the meantime the current state of affairs seems pretty inconsistent.
  • Other minor documentation improvements (e.g. the BLAS section of the manual no longer assumes that the reader knows what BLAS is).


Usually a function has 4 methods defined, one each for ``Float64``,
``Float32``, ``Complex128`` and ``Complex64`` arrays.
In Julia and most other scientific computing, linear-algebra operations are
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

most other scientific computing ...

environments? languages?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I meant "scientific computing" in general, though I should qualify that as dense linear algebra only.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless you happen to use eigen?

Copy link
Member Author

@stevengj stevengj Jun 1, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Most," not all. Sure, there are Eigen, Blaze, Armadillo, and a few others, but these are by far in the minority as far as I can tell.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed it to "In Julia (as in much of scientific computation), dense linear-algebra ..."

@stevengj stevengj force-pushed the A_mul_doc branch 2 times, most recently from 1fee9d0 to 751459d Compare June 1, 2016 19:43
@kshyatt kshyatt added domain:docs This change adds or pertains to documentation domain:linear algebra Linear algebra labels Jun 1, 2016
@stevengj
Copy link
Member Author

stevengj commented Jun 2, 2016

AppVeyor failure seems unrelated; some kind of timeout.

@stevengj
Copy link
Member Author

stevengj commented Jun 2, 2016

@andreasnoack, do you have an opinion on this? I'm not sure what your ldiv! plans are or when they are likely to happen.

@andreasnoack
Copy link
Member

All of this is great but it also conflicts (in the git sense) with #6837 which I plan to finish in this cycle so, from my point of view, I'd prefer to have some kind of this added after #6837 is merged. It will probably also be simpler when there is only ldiv!.

@andreasnoack
Copy link
Member

After other array changes, I'll have to do a big rebase anyway so if you can rebase this I think we should merge soon.

@stevengj
Copy link
Member Author

stevengj commented Jul 7, 2016

Rebased.

@andreasnoack andreasnoack merged commit 5331948 into JuliaLang:master Jul 7, 2016
@stevengj stevengj deleted the A_mul_doc branch July 7, 2016 14:31

.. Docstring generated from Julia source

Compute ``A B`` in-place and store the result in ``Y``\ , returning the result. If only two arguments are passed, then ``A_ldiv_B!(A, B)`` overwrites ``B`` with the result.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

genstdlib ate the backslash here

stevengj added a commit that referenced this pull request Jul 7, 2016
Fix typo noted by @tkelman (#16702 (comment))
mfasi pushed a commit to mfasi/julia that referenced this pull request Sep 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:docs This change adds or pertains to documentation domain:linear algebra Linear algebra
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Export At_ldiv_B!
4 participants