SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.analysis.function.rn2r1
Class Projection

java.lang.Object
  extended by com.numericalmethod.suanshu.analysis.function.rn2r1.Projection
All Implemented Interfaces:
Function, RealScalarFunction

public class Projection
extends java.lang.Object
implements RealScalarFunction

This class creates a real-valued function RealScalarFunction from a vector-valued function RealVectorFunction by taking only one of its coordinate components in the vector output. This is essentially projecting a high dimensional output to only 1 dimension.

For example, suppose we have a Rn → Rm RealVectorFunction

 f1 = [y1, y2, y3]'
 
We can create a Rn → R1 RealScalarFunction by taking its second coordinate. That is
 f2 = y2
 


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.numericalmethod.suanshu.analysis.function.Function
Function.EvaluationException
 
Field Summary
 int dimension
          the dimension/coordinate to take from the output of f It counts from 1.
 RealVectorFunction f
          the original Rn → Rm function
 
Constructor Summary
Projection(RealVectorFunction f, int dimension)
          Construct a Rn → R1 projection from the Rn → Rm function f.
 
Method Summary
 int dimension4Domain()
          Get the number of variables of the function.
 int dimension4Range()
          Get the dimension of the range space the function.
 double evaluate(double... x)
          A real function, f, takes a double array double[], {x0, x1, ..., xn} and maps it to a double, f(x0, x1, ..., xn)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

f

public final RealVectorFunction f
the original Rn → Rm function


dimension

public final int dimension
the dimension/coordinate to take from the output of f

It counts from 1.

Constructor Detail

Projection

public Projection(RealVectorFunction f,
                  int dimension)
Construct a Rn → R1 projection from the Rn → Rm function f.

Parameters:
f - a vector-valued function
dimension - the dimension/coordinate of the f value to output
Method Detail

evaluate

public double evaluate(double... x)
Description copied from interface: RealScalarFunction
A real function, f, takes a double array double[],
{x0, x1, ..., xn}
and maps it to a double,
f(x0, x1, ..., xn)

Specified by:
evaluate in interface RealScalarFunction
Parameters:
x - {x} = {x0, x1, ... xn}
Returns:
f({x}) as output

dimension4Domain

public int dimension4Domain()
Description copied from interface: Function
Get the number of variables of the function.

For example, for a univariate function, the domain dimension is 1. For a bivariate function, the domain dimension is 2.

Specified by:
dimension4Domain in interface Function
Returns:
the number of variables

dimension4Range

public int dimension4Range()
Description copied from interface: Function
Get the dimension of the range space the function.

For example, for a Rn->Rm function, the dimension of the range is m.

Specified by:
dimension4Range in interface Function
Returns:
the dimension of the range

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.