PackageLoc : Package of 3D-Vectors, general Vec/Mat/Functions
this package is not only for Processing, but also for any situation, including,
- Loc : the model of 3D geometric point/location with geometric calculations.(Wrj4P5 needs Loc)
- Rod : the model of 3D geometric line with geometric calculations.
- Tag : the model of 3D geometric plane with geometric calculations.
- Ship : the model of 3D geometric space with geometric calculations. (intermediate)
- Vec : the model of Linear Algebra with the linear operations, having root finder.
- Mat : the model of Linear Algebra with the linear operation, having some linear solvers.
- EqSys : the model of the General Equation System, having some solvers. (abstract class)
- Vfunc : the mdel of the Vector Function with some parameters, having root/extreme finder and parameter estimator. (abstract class)
the test codes(sketch) for Vec,Mat, EqSys, Vfunc is here
the test codes(sketch) for Rod is here
Loc : the model of 3D-Location and/or 3D-Vector
The model of geometric point with 3D location and geometric calculations.
Rod : the model of 3D-Line
having the following image
- at(t)
- stern()
- fore()
- bow()
- length()
Tag : the model of 3D-Plane
adding the width to Rod
- at(t,s)
- keel()
- starBoard()
- star()
- width()
- normal()
Ship : the model of 3D-Space
adding the height to Tag
- at(t,s,u)
- sea()
- bridgeTop()
- up()
- height()
Vec : the model of Linear Algebra with the linear operations.
The index of Vector is 0-based -- e.g.,
elem(0) : the left most element
elem(idx) : the (idx+1)th. element.
can solve the polynomial equation, all the roots are complex with DKA method
c0*xn + c1*x(n-1) + .... + cn-1*x1 = b
you can use the convenient, Vec realRoots(Mat root) to get unique real roots if exist.
Mat : the model of Linear Algebra with the linear operations
the model of Linear Algebra with the linear operations.
The index of Matrices is 0-based -- e.g.,
elem(0, 0) : the element in the first row, first column
elem(n, m) : the element in the (n+1)th. row, (m+1)th column.
can solve the linear equations, with LU decomposition
{ {cij} } * { xj } = { bi ]
[Caution!]
The LU matrix is cached and reused on subsequent calls,
solve(), isSingular(), det(), inverse()
If data are modified via references getDataRef(), then the stored LU decomposition will not be discarded. In this case, you need to explicitly invoke LUDecompose() to recompute The LU decomposition is performed before using any of the methods above.
EqSys : the model of the General Equation System
Model of multi-value Vector Functions, the Equation System
f(x) = [ fi(x) | fi(x) : Rn -> R, i=0->(m-1) ]
can solve the multi-value non-linear equation, with Simplex(Nelder) and Newton
VFunc : the model of the Vector Function with params
Model of the Vector Function with some parameters
f(x:p) : Rn,Rm -> R
can solve the followings with Simplex(Nelder) and Newton
- for given p, find x such that f(x;p) = 0
- for given p, find extreme point x* such that f(x*;p)/dx = 0
- estimate parameters p* such that ssr(obs,samples,p*)/dp = 0, based the set of the observations, {obsi in R, samplesi in Rn}