CorrelatedRandomVectorGenerator generates invariant samples
-----------------------------------------------------------
Key: MATH-226
URL: https://issues.apache.org/jira/browse/MATH-226
Project: Commons Math
Issue Type: Bug
Affects Versions: 1.2
Environment: WIN32
Reporter: Stuart Siegel
For the following code sample, the output is:
1.0,3.9432161557722925,16.66859790068678,1.0743673824292688,
1.0,-1.4103098147521094,-2.670854139636077,1.8368602953644368,
1.0,0.230029048125738,12.67864233710285,0.1124537698401884,
Why is the first column of each row fixed at 1.0?
Here is the code that generated this:
import org.apache.commons.math.linear.RealMatrix;
import org.apache.commons.math.linear.RealMatrixImpl;
import org.apache.commons.math.random.CorrelatedRandomVectorGenerator;
import org.apache.commons.math.random.GaussianRandomGenerator;
import org.apache.commons.math.random.JDKRandomGenerator;
public class TestMath {
public static void sampler(double[] mean, double[][] cov, double[][] s)
{
RealMatrix covRM = new RealMatrixImpl(cov);
try {
CorrelatedRandomVectorGenerator sg = new
CorrelatedRandomVectorGenerator(
mean, covRM, 0.00001, new
GaussianRandomGenerator(
new
JDKRandomGenerator()));
for (int i = 0; i < s.length; i++) {
s[i] = sg.nextVector();
}
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
static void print(double[][] s) {
for (int r = 0; r < s.length; r++) {
for (int c = 0; c < s[r].length; c++)
System.out.print(s[r][c] + ",");
System.out.println();
}
}
public static void main(String[] args) {
double[] mean = { 1, 1, 10, 1 };
double[][] cov = { { 1, 3, 2, 6 }, { 3, 13, 16, 2 }, { 2, 16,
38, -1 },
{ 6, 2, -1, 197 } };
double[][] s = new double[3][4];
TestMath.sampler(mean, cov, s);
TestMath.print(s);
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.