[jira] [Created] (MATH-762) Duplicate code in FastMath
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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