The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Sidef::Types::Array::Matrix

DESCRIPTION

This class implements ...

SYNOPSIS

    var A = Matrix(
        [2, -3,  1],
        [1, -2, -2],
        [3, -4,  1],
    )

    var B = Matrix(
        [9, -3, -2],
        [3, -1,  7],
        [2, -4, -8],
    )

    say (A + B)     # matrix addition
    say (A - B)     # matrix subtraction
    say (A * B)     # matrix multiplication
    say (A / B)     # matrix division

    say (A + 42)    # matrix-scalar addition
    say (A - 42)    # matrix-scalar subtraction
    say (A * 42)    # matrix-scalar multiplication
    say (A / 42)    # matrix-scalar division

    say A**20       # matrix exponentation
    say A**-1       # matrix inverse: A^-1
    say A**-2       # (A^2)^-1

    say B.det             # matrix determinant
    say B.solve([1,2,3])  # solve a system of linear equations

INHERITS

Inherits methods from:

       * Sidef::Types::Array::Array

METHODS

%

    a % b

Returns the

Aliases: mod

&

    a & b

Returns the

Aliases: and

*

    a * b

Returns the

Aliases: mul

**

    a ** b

Returns the

Aliases: pow

+

    a + b

Returns the

Aliases: add

-

    a - b

Returns the

Aliases: sub

/

    a / b

Returns the

Aliases: ÷, div

^

    a ^ b

Returns the

Aliases: xor

I

    Matrix.I(n)

Returns the

Aliases: identity

|

    a | b

Returns the

Aliases: or

abs

    m1.abs

Returns the

anti_diagonal

    self.anti_diagonal

Returns the

build

    Matrix.build(n, m, block)

Returns the

ceil

    self.ceil

Returns the

col

    self.col(n)

Returns the

Aliases: column, get_column

col_len

    A.col_len

Returns the

Aliases: col_size, col_count, column_len, column_size, column_count

cols

    self.cols(*cols)

Returns the

Aliases: columns, from_cols, from_columns

col_vector

    Matrix.col_vector(*list)

Returns the

Aliases: column_vector

concat

    m1.concat(m2)

Returns the

det

    self.det

Returns the

Aliases: determinant

det_bareiss

    self.det_bareiss

Returns the

diagonal

    self.diagonal

Returns the

flip

    self.flip

Returns the

floor

    self.floor

Returns the

gauss_jordan_invert

    self.gauss_jordan_invert

Returns the

gauss_jordan_solve

    self.gauss_jordan_solve(vector)

Returns the

horizontal_flip

    self.horizontal_flip

Returns the

inv

    self.inv

Returns the

Aliases: invert, inverse

invmod

    self.invmod(mod)

Returns the

is_square

    self.is_square

Returns the

neg

    m1.neg

Returns the

new

    self.new

Returns the

Aliases: call

powmod

    A.powmod(pow, mod)

Returns the

prod

    A.prod(block)

Returns the

Aliases: prod_by

rand

    Matrix.rand(n, m)

Returns the

row

    self.row(n)

Returns the

Aliases: get_row

row_len

    A.row_len

Returns the

Aliases: row_size, row_count

rows

    self.rows(*rows)

Returns the

Aliases: from_rows

row_vector

    Matrix.row_vector(*list)

Returns the

rref

    self.rref

Returns the

Aliases: reduced_row_echelon_form

scalar

    Matrix.scalar(n, value)

Returns the

set_col

    A.set_col(k, col)

Returns the

Aliases: set_column

set_row

    A.set_row(k, row)

Returns the

size

    self.size

Returns the

solve

    self.solve(vector)

Returns the

sum

    A.sum(block)

Returns the

Aliases: sum_by

t

    matrix.t

Returns the

Aliases: not, transpose

to_a

    A.to_a

Returns the

Aliases: to_array

to_s

    self.to_s

Returns the

Aliases: dump, to_str

vec_cols

    self.vec_cols

Returns the

Aliases: vec_columns, vector_columns

vec_rows

    self.vec_rows

Returns the

Aliases: vector_rows

vertical_flip

    self.vertical_flip

Returns the

zero

    Matrix.zero(n, m)

Returns the