[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-mail] positive definite matrix predicate
From: |
Tim Daly |
Subject: |
Re: [Axiom-mail] positive definite matrix predicate |
Date: |
Sun, 27 Dec 2009 10:34:34 -0500 |
User-agent: |
Thunderbird 2.0.0.21 (Windows/20090302) |
Konstantin
Hello ! I have a lot of questions :-)
Trying to implement a certain special function in Axiom (Epstein zeta, to be
precise), which depends on a positive definite matrix argument. How do I
properly implement the test that the matrix is positive definite?
I do not see this test anywhere. The only mention of the subject seems
to be in MHROWRED
ModulareHermitianRowReduction but I do not see a test for this condition.
Did I overlook a standard predicate, which tests for this ?
I do not think you overlooked anything.
Should I perform
the test in my function (which, since such a test seems to be quite basis,
may potentially lead to duplication of code in future) and potentially fail ?
Write your own test but give some thought to making it general.
If I add such predicate to MatrixCategory (which looks like a proper place
for such a basic thing), what are the conditions for the patch to be
accepted ?
I'm not sure if this should be defined at the category level. That
complicates the problem because
now you have to figure out all of the places where matrix category is
used and check that your
category-level function is valid (e.g. over complex domains?).
You could look at MATLIN MatrixLinearAlgebraFunctions and add it there
at the level
of generality you need. Does your code work over IntegralDomains?
EuclideanDomains?
Fields?, etc.
There are no conditions for a patch to be "accepted" but I need to be
fairly confident that the
patch doesn't break anything, and that the patch works as users expect.
This is helped along
by having lots of simple test cases sent along with the patch. Even
better is a set of explanations
of the function (which I'd otherwise have to create that documentation
which takes time for me
to learn).
Tim