[jira] [Created] (MATH-762) Duplicate code in FastMath

2012-03-04 Thread Gilles (Created) (JIRA)
Duplicate code in FastMath


 Key: MATH-762
 URL: https://issues.apache.org/jira/browse/MATH-762
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Priority: Minor
 Fix For: 3.1


Several methods contain the same loop, marked
{code}
/* Inline the Cody/Waite reduction for performance */
{code}

It should be tested whether this claim is true with modern JIT compilation.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-763) Recover source files that were not included in release 3.0

2012-03-04 Thread Gilles (Created) (JIRA)
Recover source files that were not included in release 3.0
--

 Key: MATH-763
 URL: https://issues.apache.org/jira/browse/MATH-763
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Priority: Trivial
 Fix For: 3.1


Files
* BatteryNISTTest.java
* PivotingQRDecomposition.java
* PivotingQRDecompositionTest.java
* PivotingQRSolverTest.java

should be re-added to trunk. They have been saved in the tag
{noformat}
  
https://svn.apache.org/repos/asf/commons/proper/math/tags/trunk_tmp_2012-03-01/
{noformat}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-746) Things to do before releasing 3.0

2012-02-15 Thread Gilles (Created) (JIRA)
Things to do before releasing 3.0
-

 Key: MATH-746
 URL: https://issues.apache.org/jira/browse/MATH-746
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Priority: Blocker
 Fix For: 3.0


This issue is meant to contain a list of tasks to be completed before the 
release.

* Remarks to be added to the *release notes*:
** Experimental code: {{BOBYQAOptimizer}}
*** Many code paths untested
*** Looking for volunteers to improve the code readability, robustness and 
performance
*** Looking for volunteers to extend the test suite
** {{FastMath}} is not always faster than {{Math}} (issue MATH-740)
* Create a release branch
* Disable CheckStyle scanning of {{BOBYQAOptimizer}}
* Remove unit test class {{BatteryNISTTest}}
* Remove class {{PivotingQRDecomposition}}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-740) Some FastMath functions are slow

2012-02-09 Thread Gilles (Created) (JIRA)
Some FastMath functions are slow
--

 Key: MATH-740
 URL: https://issues.apache.org/jira/browse/MATH-740
 Project: Commons Math
  Issue Type: Wish
Reporter: Gilles
Priority: Minor
 Fix For: 3.1


From the two benchmarks we currently have in FastMathTestPerfomance, we have 
that the following functions are much slower in FastMath than in either 
Math or StrictMath (the performance *loss*, for each of the benchmarks, is 
given in parentheses):
* log10 (46%, 36%)
* log1p (68%, 112%)
* tan (11%, 61%)
* atan (26%, 125%)
* atan2 (44%, 40%)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-734) Code cleanup: ISAACRandom

2012-01-18 Thread Gilles (Created) (JIRA)
Code cleanup: ISAACRandom
---

 Key: MATH-734
 URL: https://issues.apache.org/jira/browse/MATH-734
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


In revision 1232899, I started to clean up the code (mainly, removing the 
one-letter instance variables, that can easily be confused with local ones 
within methods, making the code harder to understand and maintain).

Other points I'd want to handle:
* Should Serializable be implemented for such classes? I think not; 
especially if it supposed to be used for secure applications.
* (Related to the above) I'd remove the transient keyword.
* The contents of method allocArrays should be moved to within the 
constructor.
* It is not recommended to call non-final public methods (setSeed) from 
within the constructor, because an overriding code could access a not fully 
uninitialized object.
* All initialization should take place within a single, most general, 
constructor and the other constructors should call that one (using the 
{{this(...)}} statement).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-726) Ridders derivative

2011-12-16 Thread Gilles (Created) (JIRA)
Ridders derivative
--

 Key: MATH-726
 URL: https://issues.apache.org/jira/browse/MATH-726
 Project: Commons Math
  Issue Type: New Feature
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


Implementation of the numerical first derivative, as described in:
{noformat}
Accurate computation of F'(x) and F'(x) F''(x)
C. J. F. Ridders
Adv. Eng. Software, 1982, Vol 4, No. 2
{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-712) Remove the marker throw clauses from BOBYQAOptimizer

2011-11-24 Thread Gilles (Created) (JIRA)
Remove the marker throw clauses from BOBYQAOptimizer


 Key: MATH-712
 URL: https://issues.apache.org/jira/browse/MATH-712
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Assignee: Gilles
Priority: Critical
 Fix For: 3.0


I added throw clauses to mark code paths that are not covered by the unit tests.
They must be commented out before release.
Ideally, we should add more unit tests...


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-708) Add method representableDelta in class Precision

2011-11-17 Thread Gilles (Created) (JIRA)
Add method representableDelta in class Precision


 Key: MATH-708
 URL: https://issues.apache.org/jira/browse/MATH-708
 Project: Commons Math
  Issue Type: New Feature
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


Cf. [this 
post|http://www.mail-archive.com/dev@commons.apache.org/msg26683.html] on the 
dev ML.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-707) Naming confusion

2011-11-16 Thread Gilles (Created) (JIRA)
Naming confusion


 Key: MATH-707
 URL: https://issues.apache.org/jira/browse/MATH-707
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Assignee: Gilles
Priority: Trivial
 Fix For: 3.0


This issue was raised in [this 
thread|http://markmail.org/thread/4h6omyqsik65rcgv] on the dev ML.
It proposes to consistently name classes/interfaces that refer to number types 
(e.g. Real, Complex, ...) and structure (e.g. Scalar, Vectorial, ...), 
with Real and Scalar components in names being assumed (thus, not to be 
included in the name).

For example, for the Univariate... interfaces (in package analysis), the 
proposal is to operate the following renaming:
* {{UnivariateRealFunction}} - {{UnivariateFunction}}
* {{UnivariateRealVectorialFunction}} - {{UnivariateVectorFunction}}
* {{UnivariateMatrixFunction}} - {{UnivariateMatrixFunction}}

Similar changes are in order in the package optimization (where Real is 
sometimes included in the name and sometimes not, or used instead of Scalar).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-701) Seeding a default RNG

2011-11-03 Thread Gilles (Created) (JIRA)
Seeding a default RNG
-

 Key: MATH-701
 URL: https://issues.apache.org/jira/browse/MATH-701
 Project: Commons Math
  Issue Type: Bug
Reporter: Gilles
Assignee: Gilles
 Fix For: 3.0


In RandomDataImpl:
{code}
private RandomGenerator getRan() {
if (rand == null) {
rand = new JDKRandomGenerator();
rand.setSeed(System.currentTimeMillis());
}
return rand;
}
{code}
The conditional branch is used by sample() in 
AbstractContinuousDistribution.

When several ...Distribution objects are instantiated in a short time 
interval, they are seeded with the same value.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-698) Bounds in BOBYQAOptimizer and CMAESOptimizer

2011-10-29 Thread Gilles (Created) (JIRA)
Bounds in BOBYQAOptimizer and CMAESOptimizer


 Key: MATH-698
 URL: https://issues.apache.org/jira/browse/MATH-698
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


The bounds should be passed as arguments to the optimize method, instead of 
through the constructor.
This is now possible, following the resolution of MATH-697.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-697) Allow simple bounds to be specified for the (scalar) optimizers classes

2011-10-28 Thread Gilles (Created) (JIRA)
Allow simple bounds to be specified for the (scalar) optimizers classes
---

 Key: MATH-697
 URL: https://issues.apache.org/jira/browse/MATH-697
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


As proposed [here|http://markmail.org/message/fncosz5blie47m6j], the API needs 
an optimize method that will accommodate algorithms such as BOBYQA and CMA-ES.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-696) addToEntry and multiplyEntry are abstract in AbstractRealMatrix

2011-10-25 Thread Gilles (Created) (JIRA)
addToEntry and multiplyEntry are abstract in AbstractRealMatrix
-

 Key: MATH-696
 URL: https://issues.apache.org/jira/browse/MATH-696
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


Methods addToEntry and multiplyEntry can have a default implementation 
instead of being declared abstract.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-690) Remove methods from MathUtils

2011-10-13 Thread Gilles (Created) (JIRA)
Remove methods from MathUtils
---

 Key: MATH-690
 URL: https://issues.apache.org/jira/browse/MATH-690
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Assignee: Gilles
Priority: Trivial
 Fix For: 3.0


I propose to remove the following methods from MathUtils:

  public static double sign(final double x)
  public static float sign(final float x)
  public static double sinh(double x)
  public static double cosh(double x)

Also, sign and indicator functions seem redundant (and the float and
double versions are not dealing correctly with -0.0).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-689) Breaking up MathUtils

2011-10-10 Thread Gilles (Created) (JIRA)
Breaking up MathUtils
---

 Key: MATH-689
 URL: https://issues.apache.org/jira/browse/MATH-689
 Project: Commons Math
  Issue Type: Task
Reporter: Gilles
Priority: Trivial
 Fix For: 3.0


Issue related to this 
[proposal|http://www.mail-archive.com/dev@commons.apache.org/msg25617.html].

There seemed to be a global agreement on the following break-up:
*  Arithmetics (for addAndCheck, factorial, gcd, ...)
*  Precision (for equals, compare, ...)
*  Binomial (for binomialCoefficient)
*  MathArrays (for linearCombination, distance, safeNorm, sortInPlace, 
copyOf, ...)

I think that ordinary mathematical functions (pow, cosh, ...) should go 
into FastMath (if not already available there).

Those who are willing to work on this issue, please coordinate here.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-688) FastMath contains fractions of constants

2011-10-08 Thread Gilles (Created) (JIRA)
FastMath contains fractions of constants
--

 Key: MATH-688
 URL: https://issues.apache.org/jira/browse/MATH-688
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Gilles
Priority: Trivial
 Fix For: 3.0


Fractions such as 1.0 / 3.0, 1.0 / 5.0, ... could be replaced with static final 
constants.
In asinh, for example, the change can sometimes result in more than halving 
the computation time (when the argument is in the range of values where the 
constants are used).

In absolute times, the gain is not huge, amounting to something like 5 ms for 
10 million computations.

And, of course, the downside will be that these values will be computed at the 
loading of FastMath, leading to an additional penalty of about 16 divisions 
at initialization... :)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-685) Add method addToEntry to the RealVector interface

2011-10-05 Thread Gilles (Created) (JIRA)
Add method addToEntry to the RealVector interface
-

 Key: MATH-685
 URL: https://issues.apache.org/jira/browse/MATH-685
 Project: Commons Math
  Issue Type: Wish
Reporter: Gilles
Assignee: Gilles
Priority: Trivial
 Fix For: 3.0


Method addToEntry:
{code}
m.addToEntry(i, j, addend);
{code}
as a shortcut to:
{code}
m.setEntry(i, j, m.getEntry(i, j) + addend);
{code}

It has been argued (on the dev ML) that some functional style would be a 
powerful and elegant way to implement a whole set of related functionality 
(scale, scaleAndAdd, etc.). However some simple things (like when the 
addend depends on i and j) cannot be achieved without writing many more 
lines of code.

Method addToEntry exists in RealMatrix. If and when some satisfactory 
solution is found in order to remove it there, RealVector can always be 
aligned with it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-677) About package transform

2011-09-29 Thread Gilles (Created) (JIRA)
About package transform
-

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Priority: Minor
 Fix For: 3.0


Classes in package o.a.c.m.transform might require some changes in order to 
conform to goals set for the next major release.

Some observations:
* Exceptions
** Should remove use of deprecated MathRuntimeException
** Should throw more specific Math...Exception instances instead of standard 
IAE
* Interface RealTransformer (and implementations) contain non-conformant 
method names (e.g. inversetransform instead of inverseTransform)
* FastFourierTransformer:
** Methods mdfft and verifyDataSet take an argument of type Object (to 
allow an argument with an unspecified number of dimensions)
** The RootsOfUnity helper class could be moved to the complex package
** For clarity, multidimensional transform should be moved to a class of its 
own (and I also wonder whether the MultiDimensionalComplexMatrix name is not 
misleading)
* FastFourierTransformer, FastSineTranformer and FastCosineTranformer 
define public methods tranform2 and inversetransform2 but they are not part 
of an interface
* Code uses variables that start with an uppercase
* FastHadamardTransformer contains illegible developer documentation (see 
Javadoc for protected method fht)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (MATH-676) More efficient multiplication of small matrices

2011-09-28 Thread Gilles (Created) (JIRA)
More efficient multiplication of small matrices
---

 Key: MATH-676
 URL: https://issues.apache.org/jira/browse/MATH-676
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Gilles
Priority: Minor
 Fix For: 3.0


A benchmark shows that the multiply method in Array2DRowRealMatrix could be 
faster.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira