#!/usr/bin/perl use strict; use warnings; use PDL; use PDL::Matrix; # example: 2x + 3y + 4 = z, plug in known exact values; make sure my coefficients end up 2,3,4 my $matrix_A = mpdl [ [1,1,1], [3,7,1], [5,1,1], [1,5,1], ]; print "A => ", $matrix_A; print "B => ", my $column_B = vpdl [9,31,17,21]; print "X => ", my $coeff_X = (($matrix_A->transpose x $matrix_A)->inv x $matrix_A->transpose) x $column_B; #### A => [ [1 1 1] [3 7 1] [5 1 1] [1 5 1] ] B => [ [ 9] [31] [17] [21] ] X => [ [ 2] [ 3] [ 4] ]