#12966: Indefinite factorization for exact matrices
----------------------------------+-----------------------------------------
Reporter: rbeezer | Owner: jason, was
Type: enhancement | Status: needs_review
Priority: minor | Milestone: sage-5.1
Component: linear algebra | Resolution:
Keywords: sd40.5 | Work issues:
Report Upstream: N/A | Reviewers: Andrey Novoseltsev
Authors: Rob Beezer | Merged in:
Dependencies: | Stopgaps:
----------------------------------+-----------------------------------------
Comment (by rbeezer):
Replying to [comment:5 novoselt]:
Andrey,
Thanks for the comments. The underscore method will also power an
"is_positive_definite" method and a new (fixed) "cholesky_decompsition"
method. I was trying to isolate common functionality in the underscore
method. I was also trying to have errors be actually reported out of the
calling functions.
In particular, indefinite factorization will fail if there is a zero
computed for the diagonal. But this is also an indicator of a non-
positive-definite matrix, so I want to catch that error and convert it to
a False return. I'm still uncertain about how Cholesky will be employing
this routine.
Rob
> For the documentation:
> * line 10032: Why the base ring for the diagonal matrix is mentioned
explicitly? I think the output for `d` must be such that the appropriate
matrix is constructed from `d` directly.
> * lines 10040-10042: Probably need one more space for perfect
alignment.
> * line 10292: I don't understand the reference to RDF/CDF - how can
they be used if they are not exact?
>
> Implementation-wise, I don't understand why error-handling is delegated
to calling functions - checking for square matrices seems natural before
the actual computation, detecting absence of the fraction field seems to
be repeated and I don't understand at all what is accomplished by
> {{{
> except ValueError as e:
> raise ValueError(e)
> }}}
> can't it just be deleted without any effect on the behaviour? It seems
to me that the only real work for non-underscore method is to convert `d`
to a vector (which probably addressed my first comment on the
documentation). It seems to me that either this can be the only thing left
in this function with error-checking going to the underscore method or
even the conversion can go there and we end up with a single function.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12966#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.