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

2012-01-31 Thread Luc Maisonobe (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13197122#comment-13197122
 ] 

Luc Maisonobe commented on MATH-677:


These changes sounds good to me.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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 {color:red}done (see below){color}
 ## 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. 
 {color:red}Done in {{r1237544}}.{color} New class needs a little bit of 
 cleaning up (as well as unit tests), see below.
 ## 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-31 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13197497#comment-13197497
 ] 

Sébastien Brisard commented on MATH-677:


In {{r1238898}}
* renamed {{computeOmega(int)}} to {{computeRoots(int)}}
* renamed {{getOmegaReal(int)}} to {{getReal(int)}}
* renamed {{getOmegaImaginary(int)}} to {{getImaginary(int)}}
* added {{int getNumberOfRoots()}}
* added unit tests.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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 {color:red}done (see below){color}
 ## 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. 
 {color:red}Done in {{r1237544}}.{color} New class needs a little bit of 
 cleaning up (as well as unit tests), see below.
 ## 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-31 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13197502#comment-13197502
 ] 

Sébastien Brisard commented on MATH-677:


All suggested changes but 3.1 and 3.3 have now been applied. I think this issue 
can be resolved for the time being. Indeed, FFT implementation will probably 
evolve in future versions of Commons-Math, especially for multidimensional 
transforms. This should require thorough discussion.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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 {color:red}done (see below){color}
 ## 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. 
 {color:red}Done in {{r1238898}}{color}.
 ## 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-30 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13196749#comment-13196749
 ] 

Sébastien Brisard commented on MATH-677:


h4. Refactoring of {{RootsOfUnity}}
In {{r1238179}}, the following changes have been adopted
* {{computeOmega(int n)}} now computes the roots of unity {{exp(i * k / n)}}. 
{{FastFourierTransformer}} has been updated accordingly.
* {{isForward()}} has been renamed {{isCounterClockwise()}}, which refers to 
the way the roots are ordered depending on the sign of {{n}}.

What do you think of these changes?

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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 {color:red}done (see below){color}
 ## 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. 
 {color:red}Done in {{r1237544}}.{color} New class needs a little bit of 
 cleaning up (as well as unit tests), see below.
 ## 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-29 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13195965#comment-13195965
 ] 

Sébastien Brisard commented on MATH-677:


h4. Refactoring of {{RootsOfUnity}}

{{RootsOfUnity}} is now exposed as a public class in package 
{{o.a.c.m.complex}}. Therefore the connection with FFT is lost
* {{isForward()}} must be renamed
* {{computeOmega(int n)}} computes the roots of unity {{exp(-i * k / n)}}. I 
think the minus sign is quite unexpected for a self-standing {{RootsOfUnity}} 
class (in the FFT context, this minus sign does make perfect sense, of course). 
So I propose to change this behavior (remove this minus sign).

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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 {color:red}done (see below){color}
 ## 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. 
 {color:red}Done in {{r1237544}}.{color} New class needs a little bit of 
 cleaning up (as well as unit tests), see below.
 ## 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-22 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13190902#comment-13190902
 ] 

Sébastien Brisard commented on MATH-677:


Used {{RealTransformAbstractTest}} for testing of {{FastSineTransformer}} (see 
{{r1234685}}).

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-20 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13190111#comment-13190111
 ] 

Sébastien Brisard commented on MATH-677:


In {{r1234136}}, added a new
{{RealTransformAbstractTest}} allowing for automatic testing of 
{{RealTransformers}}, with various data sizes (not only powers of two and the 
likes). This will ease testing procedures if we ever implement transforms for 
other types of data sizes.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-17 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13188315#comment-13188315
 ] 

Sébastien Brisard commented on MATH-677:


Improved testing of {{FastFourierTransformer}} in {{r1232767}}.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2012-01-03 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13179252#comment-13179252
 ] 

Sébastien Brisard commented on MATH-677:


Moved {{FastFourierTransformer.isPowerOf2(long)}} to 
{{ArithmeticUtils.isPowerOfTwo(long)}} in {{r1227042}}.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2011-12-31 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13177966#comment-13177966
 ] 

Sébastien Brisard commented on MATH-677:


h4. Exceptions
* remove references to {{MathRuntimeException}},
* throw more specific {{Math...Exception}} instances instead of standard 
{{IAE}}.

As discussed on the 
[mailing-list|http://mail-archives.apache.org/mod_mbox/commons-dev/201112.mbox/%3CCAGRH7Hq24t8O5hCPawVWFU1tOLAhcBrBjF%2BYh69zZivTnZRKFQ%40mail.gmail.com%3E],
 {{MathIllegalArgumentException}} (as opposed to more specific subclasses) are 
returned for non-power-of-two datasets.

(x) {{FastCosineTransformer}}
(x) {{FastFourierTransformer}}: done in {{r1226053}}
(x) {{FastHadamardTransformer}}
(x) {{FastSineTransformer}}

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}As of {{r1213157}}, these methods have been 
 removed, and replaced by factory methods {{create()}} and {{createUnitary()}} 
 (FFT) or {{createOrthogonal()}} (FCT, FST).{color}
 # Code uses variables that start with an uppercase. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2011-12-11 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13167390#comment-13167390
 ] 

Sébastien Brisard commented on MATH-677:


{{FastSineTransformer}} has been modified according to the above discussion in 
revision {{1213157}}.
* {{transform2()}} and {{inverseTransform2()}} have gone,
* constructors have been made private,
* two factory methods are provided {{create()}} and {{createOrthogonal()}}.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2011-12-08 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13165887#comment-13165887
 ] 

Sébastien Brisard commented on MATH-677:


{{FastCosineTransformer}} has been modified according to the above discussion 
in revision {{1212262}}.
* {{transform2()}} and {{inverseTransform2()}} have gone,
* constructors have been made private,
* two factory methods are provided {{create()}} and {{createOrthogonal()}}.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2011-12-06 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13164212#comment-13164212
 ] 

Sébastien Brisard commented on MATH-677:


{{FastFourierTransformer}} has been modified according to the above discussion 
in revisions {{1211318}} and {{1211319}}.
* {{transform2()}} and {{inverseTransform2()}} have gone,
* constructors have been made private,
* two factory methods are provided {{create()}} and {{createUnitary}}.

This has a beneficial side effect: multi-dimensional FFT is no longer 
restricted to the former {{transform2()}}/{{inverseTransform2()}} normalization 
convention, as was previously the case.

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2011-11-30 Thread Gilles (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159964#comment-13159964
 ] 

Gilles commented on MATH-677:
-

Thanks Sébastien for having a look at this.

As I never used these classes, I couldn't come up with concrete change 
proposals regarding the API.
Rather than different constructors, we could have a new class. I recall that 
the solvers package used to contain a single MullerSolver class with a 
solve2 method (in addition to the solve defined in the interface). Now, 
there is a MullerSolver2 that conforms to the interface.

If no-one objects, you could perform that change; but I'm afraid that a 
thorough review of all those classes will have to wait for 4.0. The handling of 
multiple dimension (through arguments of type Object) is particularly awkward 
(for a strongly typed language like Java).

In addition to the observations indicated in the issue description, I also 
notice a (private) class (MultiDimensionalComplexMatrix in 
FastFourierTransformer) that implements the standard Cloneable interface. 
This is best to be avoided (cf. Effective Java).


 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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] [Commented] (MATH-677) About package transform

2011-11-30 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159988#comment-13159988
 ] 

Sébastien Brisard commented on MATH-677:


Hi Gilles,
thanks for your advice. So I'll confine to the cosmetic changes, and we will 
postpone the rest to the next major release. I'm a regular user of FFTs, and 
I've been involved in debugging JTransforms, as well as setting up the whole 
set of unit tests for this library. In short, I am quite willing to dive deeper 
into this package... when we get some time.


Regarding point 4, I like your solution, because one class would correspond to 
one unique pair {{transform}}/{{inverseTransform}}, with no risk to invoke 
{{transform}} followed by {{inverseTransform2}} (and vice-versa).

However, if I may be the devil's advocate, I have a very small objection (but I 
can live with that). {{transform}} and {{transform2}} actually perform the 
*same* transform, only with a different prefactor. But the transform is 
essentially the same (see the implementation).

On the other hand, there are other *types* of DCTs/DSTs on the market. The 
currently implemented DCT is in fact DCT-I. It would be nice at some point to 
have in CM DCT-II, DCT-III, ... which would be different classes. But then, we 
would need classes for DCT-Ia, DCT-Ib, ..., DCT-IIa, DCT-IIb, ... for different 
normalizing factors. It might be a bit complicated, and would put on the same 
logical level *variants* of the same type of DCT, with different types of DCTs, 
which I'm slightly (but only very slightly) uncomfortable with.

To sum up: the two versions of DCT currently implemented in the same class are 
essentially the same up to a scaling factor. I dislike the existence of 
{{transform2}}/{{inverseTransform2}}, but I think version 2 of the DCT should 
be performed by the same class. That's the reason why I was proposing factory 
methods (say {{createVersion1()}}/{{createVersion2()}}. Different classes would 
be reserved to different versions of the DCT/DST.

Again, these thoughts are only for the sake of arguing, I'm quite happy with 
any solution anyone would prefer.

Sébastien

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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] [Commented] (MATH-677) About package transform

2011-11-30 Thread Gilles (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159993#comment-13159993
 ] 

Gilles commented on MATH-677:
-

By all means, if you have clear ideas about how to improve the package, I'm all 
for it. If the changes can included in the upcoming release, even better.
If you have practical use-cases for FFT, then you are in the best position to 
decide.

Factories may indeed be the way (although with better names than 
createVersionX): I agree that a detail like a scaling factor might not 
warrant a new class.


 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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] [Commented] (MATH-677) About package transform

2011-11-30 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13160709#comment-13160709
 ] 

Sébastien Brisard commented on MATH-677:


{quote}
although with better names than createVersionX
{quote}
... goes without saying! :D

What do you think of
* {{create()}} for default normalization (corresponding to the current 
{{transform()}}),
* {{createOrthogonal()}} for the other normalization (correspondind to the 
current {{transform2()}}). From 
[Wikipedia|http://en.wikipedia.org/wiki/Discrete_cosine_transform]
{quote}
This makes the DCT-I matrix orthogonal [...] but breaks the direct 
correspondence with a real-even DFT.
{quote}

 About package transform
 -

 Key: MATH-677
 URL: https://issues.apache.org/jira/browse/MATH-677
 Project: Commons Math
  Issue Type: Improvement
Reporter: Gilles
Assignee: Sébastien Brisard
Priority: Minor
  Labels: api-change
 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). 
 {color:red}Fixed in {{r1208293}}.{color}
 # 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. {color:red}Fixed, 
 together with various formatting issues.{color}
 # FastHadamardTransformer contains illegible developer documentation (see 
 Javadoc for protected method fht). {color:red}Tried to improve things in 
 {{r1208986}}, but things are still a bit obscure. Besides, the link provided 
 is broken. Will look into that.{color}

--
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] [Commented] (MATH-677) About package transform

2011-11-29 Thread Commented

[ 
https://issues.apache.org/jira/browse/MATH-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159856#comment-13159856
 ] 

Sébastien Brisard commented on MATH-677:


Regarding point 4., transform2 and inversetransform2 merely correspond to 
different normalization conventions. Correct me if I'm wrong, the user is 
unlikely to use mixed conventions in the *same* calculation (well, *I* never 
do!), maybe we could use parameterized constructors to specify this 
normalization convention. In which case, {{transform2}} and 
{{inverseTransform2}} could go.

Otherwise, we would need an altogether new interface, because the Hadamard 
transform does not offer such a choice.

This option would also offer the possibility to implement other types of 
DCT/DST in the future. This is just a thought, though, because in this case, 
maybe factory methods would be better.

 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
  Labels: api-change
 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