The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SPVM::Matrix::Util - Matrix Utilities

DESCRIPTION

SPVM::Matrix::Util is matrix utilities. Matirx operation is defined.

Matrix Data Structure is defined in SPVM::Matrix::Float and SPVM::Matrix::Double

CLASS METHODS

mat_new

  sub mat_new : SPVM::Matrix::Double ($values : double[], $rows_length: int, $columns_length : int)

Create new SPVM::Matrix::Double object.

Arguments:

1. Values. this value is set to values field. Note that the reference is set to values field not creating new array which elements is copied from argument array. Elements order is assumed as Column-Major order.

2. Row. This value is set to rows_length field.

3. Column. This value is set to columns_length field.

Return Value:

SPVM::Matrix::Double object.

Exception:

1. If Values is not defined, a exception occurs.

2. If Values length is different from Row * Column, a exception occurs.

mat_newf

  sub mat_newf : SPVM::Matrix::Float ($values : float[], $rows_length: int, $columns_length : int)

Create new SPVM::Matrix::Float object.

Arguments:

1. Values. this value is set to values field. Note that the reference is set to values field not creating new array which elements is copied from argument array. Elements order is assumed as Column-Major order.

2. Row. This value is set to rows_length field.

3. Column. This value is set to columns_length field.

Return Value:

SPVM::Matrix::Float object.

Exception:

1. If Values is not defined, a exception occurs.

2. If Values length is different from Row * Column, a exception occurs.

mat_new_zero

  sub mat_new_zero : SPVM::Matrix::Double ($rows_length: int, $columns_length : int)

Create new SPVM::Matrix::Double object with zero value.

mat_new_zerof

  sub mat_new_zerof : SPVM::Matrix::Float ($rows_length: int, $columns_length : int)

Create new SPVM::Matrix::Float object with zero value.

mat_new_ident

  sub mat_new_ident : SPVM::Matrix::Double ($dim : int)

Create new ident <SPVM::Matrix::Double> by specifing the dimention.

mat_new_identf

  sub mat_new_identf : SPVM::Matrix::Float ($dim : int)

Create new ident <SPVM::Matrix::Float> by specifing the dimention.

mat_transpose

  sub mat_transpose : SPVM::Matrix::Double ($mat : SPVM::Matrix::Double)

Transpose double matrix and return new SPVM::Matrix::Double object.

mat_transposef

  sub mat_transposef : SPVM::Matrix::Float ($mat : SPVM::Matrix::Float)

Transpose float matrix and return new SPVM::Matrix::Float object.

mat_add

  sub mat_add : SPVM::Matrix::Double ($mat1 : SPVM::Matrix::Double, $mat2 : SPVM::Matrix::Double)

Add two double Matrix and return new SPVM::Matrix::Double object.

mat_addf

  sub mat_addf : SPVM::Matrix::Float ($mat1 : SPVM::Matrix::Float, $mat2 : SPVM::Matrix::Float)

Add two float Matrix and return new SPVM::Matrix::Float object.

mat_sub

  sub mat_sub : SPVM::Matrix::Double ($mat1 : SPVM::Matrix::Double, $mat2 : SPVM::Matrix::Double)

Subtract two double Matrix and return new SPVM::Matrix::Double object.

mat_subf

  sub mat_subf : SPVM::Matrix::Float ($mat1 : SPVM::Matrix::Float, $mat2 : SPVM::Matrix::Float)

Subtract two float Matrix and return new SPVM::Matrix::Float object.

mat_scamul

  sub mat_scamul : SPVM::Matrix::Double ($scalar : double, $mat1 : SPVM::Matrix::Double)

Scalar multiply float matrix and return new SPVM::Matrix::Double object.

mat_scamulf

  sub mat_scamulf : SPVM::Matrix::Float ($scalar : float, $mat1 : SPVM::Matrix::Float)

Scalar multiply float matrix and return new SPVM::Matrix::Float object.

mat_mul

  sub mat_mul : SPVM::Matrix::Double ($mat1 : SPVM::Matrix::Double, $mat2 : SPVM::Matrix::Double)

Multiply two double Matrix and return new SPVM::Matrix::Double object.

mat_mulf

  sub mat_mulf : SPVM::Matrix::Float ($mat1 : SPVM::Matrix::Float, $mat2 : SPVM::Matrix::Float)

Multiply two float Matrix and return new SPVM::Matrix::Float object.

mat_str

  sub mat_str : string ($mat : SPVM::Matrix::Double)

Convert Matrix Content to String. Each column is joined 1 space and Each row is end with \n

1 3 5 2 4 6

mat_strf

  sub mat_strf : string ($mat : SPVM::Matrix::Float)

Convert Matrix Content to String. Each column is joined 1 space and Each row is end with \n

1 3 5 2 4 6