How to calculate the dot product of two lists in PHP

2 Answers

0 votes
function calculate_dot_product($arr1, $arr2) {
    $product = 0;
    $size = count($arr1);
    
    for ($i = 0; $i < $size; $i++) {
        $product += $arr1[$i] * $arr2[$i];
    }
    
    return $product;
}

$arr1 = array(1, 4, 8, 9, 6);
$arr2 = array(0, 7, 1, 3, 40);
        
echo "Dot product = " . calculate_dot_product($arr1, $arr2);




/*
run:

Dot product = 303

*/

 



answered Feb 17, 2023 by avibootz
0 votes
function calculate_dot_product($arr1, $arr2) {
    return array_sum(array_map(function($x, $y) { return $x * $y; }, $arr1, $arr2));
}

$arr1 = array(1, 4, 8, 9, 6);
$arr2 = array(0, 7, 1, 3, 40);
        
echo "Dot product = " . calculate_dot_product($arr1, $arr2);




/*
run:

Dot product = 303

*/

 



answered Feb 17, 2023 by avibootz
...