|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectgenopt.algorithm.util.math.LinAlg
public class LinAlg
Class with functions for linear algebra.
This project was carried out at:
and supported byGenOpt Copyright (c) 1998-2011, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.
| Constructor Summary | |
|---|---|
LinAlg()
|
|
| Method Summary | |
|---|---|
static double |
abs(double[] x)
calculates the absoulte value of a vector |
static double[][] |
add(double[][] A,
double[][] B)
adds 2 matrices: C = A + B; Note:C has the dimension of A; B must not have the same dimension as A (non existing element are considered as 0 and elements that are not in A but in B are not taken into account by the summation) |
static double[] |
add(double[] y,
double[] x)
adds 2 vectors: z = y + x Note:If the dimension dx of x is bigger than the dimension dy of y, then only dx elements are added. |
static double[][] |
fillDiagonal(double[][] A,
double left,
double diagonal,
double right)
fills the diagonal matrix element and sets all other elements to zero. |
static double[] |
gaussElimination(double[][] A,
double[] f)
solves a vector x by a Gauss elimination of a NxN matrix with normalization and interchange of rows. |
static double[] |
gaussEliminationTridiagonal(double[][] A,
double[] f)
solves a vector x by a Gauss elimination of a tridiagonal NxN matrix with normalization and interchange of rows. |
static double[] |
getCenter(double[][] M)
gets the center point of several points |
static double[] |
getColumn(double[][] A,
int i)
gets a column of a matrix |
static double[] |
getSub(double[] x,
int startIndex,
int number)
gets a part of a vector |
static void |
initialize(double[][] A,
double v)
initializes a rectangular matrix |
static void |
initialize(double[] A,
double v)
initializes a vector |
static double |
innerProduct(double[] a,
double[] b)
calculates the inner product (dot product): c[i] = sum(a[i] * b[i] , i = 0..N-1) |
static double |
maxDiff(double[][] A,
double[][] B)
calculates the maximum magnitude of the difference between corresponding matrix element, defined as maxDiff = max(|A[i][j]-A[i][j]|) for all i,j |
static double |
maxNorm(double[] u)
calculates the Lmax norm of a vector, defined as Lmax(u) = (max(|u(i)|, i = 1..n) |
static double |
maxNorm(double[][] A)
calculates Lmax norm of a matrix The max norm of a matrix is the maximum row sum, where the row sum is the sum of the magnitudes of the elements in a given row |
static double[] |
multiply(double[][] A,
double[] u)
multiplicates a matrix with a vector: r = A * u; (Returns the product of the row vector x and the rectangular array A) |
static double[][] |
multiply(double[][] A,
double[][] B)
multiplicates a matrix with a matrix: C = A * B; |
static double[] |
multiply(double[] u,
double[][] A)
multiplicates a vector with a matrix: r = u^T * A; (Returns the product of the row vector x and the rectangular array A) |
static double[] |
multiply(double s,
double[] u)
calculates S-multiplication : r = s * u; |
static double[][] |
multiply(double s,
double[][] A)
calculates S-multiplication : B = s * A; |
static double[] |
multiply(double s,
int[] u)
calculates S-multiplication : r = s * u; The computations are done in double. |
static double |
oneNorm(double[] u)
calculates L1 norm of a vector, defined as L1(u) = (sum(u(i), i = 1..n) |
static double |
oneNorm(double[][] A)
calculates L1 norm of a matrix The one-norm of a matrix is the maximum column sum, where the column sum is the sum of the magnitudes of the elements in a given column. |
static double[][] |
outerProduct(double[] a,
double[] b)
calculates the outer product (Tensor product): M[i][j] = a[i] * b[j] |
static void |
print(double[] x)
prints a vector to the output stream |
static void |
print(double[][] A)
prints a matrix to the output stream |
static void |
print(double[] state,
java.lang.String delimiter)
reports a scalar and a vector to the output stream, where the entries are separated by the given delimiter |
static void |
print(double time,
double[] state)
reports a scalar and a vector to the output stream |
static void |
print(double time,
double[] state,
java.lang.String delimiter)
reports a scalar and a vector to the output stream, where the entries are separated by the given delimiter |
static void |
print(int[] x)
prints a vector to the output stream |
static double[][] |
setColumn(double[][] A,
double[] x,
int i)
sets a column of a matrix Note: the dimension of x can be smaller than the column length of A |
static double[][] |
setRow(double[][] A,
double[] x,
int i)
sets a row of a matrix Note: the dimension of x can be smaller than the row length of A |
static double[][] |
subtract(double[][] A,
double[][] B)
subtracts 2 matrices: C = A - B; Note:C has the dimension of A; B must not have the same dimension as A (non existing element are considered as 0 and elements that are not in A but in B are not taken into account by the summation) |
static double[] |
subtract(double[] y,
double[] x)
subtracts 2 vectors: z = y - x; Note: If the dimension dx of x is bigger than the dimension dy of y, then only dx elements are subtracted. |
static int[] |
subtract(int[] y,
int[] x)
subtracts 2 vectors: z = y - x; Note: If the dimension dx of x is bigger than the dimension dy of y, then only dx elements are subtracted. |
static double |
sumColumn(double[][] A,
int i)
returns the sum of the elements in the i-th column |
static double |
sumRow(double[][] A,
int i)
returns the sum of the elements in the i-th row |
static double |
twoNorm(double[] u)
calculates the L2 norm of a vector, defined as L2(u) = (sum(u(i)**2, i = 1..n) ^ 0.5 |
static double |
twoNorm(double[] u,
double h)
calculates the L2 norm with a scaling factor of a vector, defined as L2(u) = (sum(h * u(i)**2, i = 1..n) ^ 0.5 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LinAlg()
| Method Detail |
|---|
public static double[] getCenter(double[][] M)
M - Matrix where the row are the points from which the
center has to be determined (the row has the first element
number, i.e. row i: A[i][0...dim])
public static double maxDiff(double[][] A,
double[][] B)
A - rectangular matrixB - rectangular matrix of the same dimension like A
public static double abs(double[] x)
x - the vector
x = ((sum(x(i)**2)**(1/2), i = 0..N-1)
public static double[] getSub(double[] x,
int startIndex,
int number)
x - vectorstartIndex - index of first element that will be returnednumber - number of elements that will be returned
public static double[] getColumn(double[][] A,
int i)
A - matrixi - number of column
public static void initialize(double[] A,
double v)
A - vectorv - value to be set for all elements
public static void initialize(double[][] A,
double v)
A - matrixv - value to be set for all elements
public static double[][] setColumn(double[][] A,
double[] x,
int i)
A - matrixx - Vector to be set as the i-th column of Ai - column number where x has to be set
public static double[][] setRow(double[][] A,
double[] x,
int i)
A - matrixx - Vector to be set as the i-th row of Ai - row number where x has to be set
public static void print(double[][] A)
A - matrix to be printedpublic static void print(double[] x)
x - Vector to be printedpublic static void print(int[] x)
x - Vector to be printed
public static double[][] fillDiagonal(double[][] A,
double left,
double diagonal,
double right)
A - square matrix to be filledleft - Element (i-1, j)diagonal - Element (i, j)right - Element (i+1, j)
public static double oneNorm(double[][] A)
A - matrix
public static double maxNorm(double[][] A)
A - matrix
public static double oneNorm(double[] u)
u - Vector
public static double sumRow(double[][] A,
int i)
A - Matrixi - Row number
public static double sumColumn(double[][] A,
int i)
A - Matrixi - Column number
public static double twoNorm(double[] u)
u - Vector
public static double twoNorm(double[] u,
double h)
u - Vector
*param h Scaling factor
public static double maxNorm(double[] u)
u - Vector
public static double[] subtract(double[] y,
double[] x)
x - Vector of size dxy - Vector of size dy (dy >= dx)
public static int[] subtract(int[] y,
int[] x)
x - Vector of size dxy - Vector of size dy (dy >= dx)
public static double[] add(double[] y,
double[] x)
x - Vector of size dxy - Vector of size dy (dy >= dx)
public static double[][] add(double[][] A,
double[][] B)
A - Matrix of any dimensionB - Matrix of any dimension
public static double[][] subtract(double[][] A,
double[][] B)
A - Matrix of any dimensionB - Matrix of any dimension
public static double innerProduct(double[] a,
double[] b)
a - Arrayb - Array
public static double[][] outerProduct(double[] a,
double[] b)
a - Arrayb - Array
public static double[] multiply(double s,
double[] u)
s - Scalaru - Vector
public static double[] multiply(double s,
int[] u)
double.
s - Scalaru - Vector
public static double[][] multiply(double s,
double[][] A)
s - ScalarA - Matrix
public static double[] multiply(double[] u,
double[][] A)
u - VectorA - Matrix
public static double[] multiply(double[][] A,
double[] u)
A - matrixu - vector
public static double[][] multiply(double[][] A,
double[][] B)
A - n x m matrixB - m x n matrix
public static double[] gaussElimination(double[][] A,
double[] f)
A - Matrixf - Array with solution of A*x=f
public static double[] gaussEliminationTridiagonal(double[][] A,
double[] f)
A - Matrixf - Array with solution of A*x=f
public static void print(double[] state,
java.lang.String delimiter)
state - a vectordelimiter - a delimiter
public static void print(double time,
double[] state,
java.lang.String delimiter)
time - a scalarstate - a vectordelimiter - a delimiter
public static void print(double time,
double[] state)
time - A scalarstate - A vector
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||