|
|||||||||
| Home >> All >> riso >> [ approximation overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
riso.approximation
Class Intervals

java.lang.Objectriso.approximation.Intervals
- public class Intervals
- extends java.lang.Object
A class which pulls together some methods for mungeing intervals.
| Nested Class Summary | |
static class |
Intervals.ScaleTooBigException
An instance of this class is thrown when the scale of a search for the support of a function appears to be much too large. |
| Constructor Summary | |
Intervals()
|
|
| Method Summary | |
static double[] |
effective_support(riso.numerical.Callback_1d f,
double[] largest_interval,
double tolerance)
Like the other version of effective_support, except that the largest interval to be search is specified instead being constructed from the scale argument. |
static double[] |
effective_support(riso.numerical.Callback_1d f,
double scale,
double tolerance)
Returns an approximation to the support of a function. |
static double[] |
effective_support0(riso.numerical.Callback_1d f,
double[] larger_interval,
double tolerance)
This method is called by effective_support to do most of the work. |
static double[][] |
intersection_merge_intervals(double[][] intervals)
Constructs a list of intervals which is the intersection of the input list. |
static void |
main(java.lang.String[] args)
A little test program. |
static double[][] |
trim_support(riso.distributions.Distribution p,
double[][] supports)
Sometimes calculated support intervals are too big, so try to cut off parts in which the density of the target is zero. |
static double[][] |
union_merge_intervals(double[][] intervals)
Constructs a list of intervals which is the union of the input list. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
Intervals
public Intervals()
| Method Detail |
union_merge_intervals
public static double[][] union_merge_intervals(double[][] intervals)
- Constructs a list of intervals which is the union of the input list.
intersection_merge_intervals
public static double[][] intersection_merge_intervals(double[][] intervals)
- Constructs a list of intervals which is the intersection of the input list.
effective_support
public static double[] effective_support(riso.numerical.Callback_1d f, double scale, double tolerance) throws java.lang.IllegalArgumentException, riso.distributions.SupportNotWellDefinedException, Intervals.ScaleTooBigException
- Returns an approximation to the support of a function. The target
function may not be normalized; the function is nonnegative and
smooth.
This method attempts to approximation the integral of the target function over a very large interval, and then to find a smaller interval (contained in the larger) such that the smaller interval contains almost all the mass in the larger one.
The hard part of the problem is searching out the peaks in the target function, without any clues about their location. This method sprinkles a lot of points on a wide interval centered on zero and tries to find evidence of peaks. So the time required for this approach is proportional to the time required to evaluate the target function.
effective_support
public static double[] effective_support(riso.numerical.Callback_1d f, double[] largest_interval, double tolerance) throws java.lang.IllegalArgumentException, riso.distributions.SupportNotWellDefinedException, Intervals.ScaleTooBigException
- Like the other version of effective_support, except
that the largest interval to be search is specified instead
being constructed from the scale argument.
effective_support0
public static double[] effective_support0(riso.numerical.Callback_1d f, double[] larger_interval, double tolerance) throws java.lang.IllegalArgumentException, riso.distributions.SupportNotWellDefinedException, Intervals.ScaleTooBigException
- This method is called by effective_support to do most of the work.
trim_support
public static double[][] trim_support(riso.distributions.Distribution p, double[][] supports) throws java.lang.Exception
- Sometimes calculated support intervals are too big, so try to cut off parts in which
the density of the target is zero.
main
public static void main(java.lang.String[] args)
- A little test program.
|
|||||||||
| Home >> All >> riso >> [ approximation overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
riso.approximation.Intervals