Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set_time_limit(0);
- function mkonematrix ($rows, $cols) {
- $mx = array();
- for ($i=0; $i<$rows; $i++) {
- for ($j=0; $j<$cols; $j++) {
- $mx[$i][$j] = ($i==$j);
- }
- }
- return $mx;
- }
- function mmult($m1, $m2) {
- $m3=array();
- for ($i=0; $i<count($m1); $i++) {
- for ($j=0; $j<count($m2[0]); $j++) {
- $x=0;
- for ($k=0; $k<count($m1[0]); $k++) {
- $x+=$m1[$i][$k] * $m2[$k][$j];
- }
- $m3[$i][$j]=$x;
- }
- }
- return $m3;
- }
- function mat_pow($a, $n)
- {
- $res=array();
- $res=mkonematrix(count($a), count($a[0]));
- while ($n > 0) {
- if ($n % 2 == 0)
- {
- $a=mmult( $a, $a);
- $n /= 2;
- }
- else {
- $res=mmult($res, $a);
- $n--;
- }
- }
- return $res;
- }
- function print_matrix($mat) {
- echo '<table cellspacing="4" cellpadding="2">';
- for($i=0;$i<count($mat);$i++){
- echo '<tr>';
- for($j=0;$j<count($mat[$i]);$j++){
- echo '<td>'.number_format($mat[$i][$j], 4).'</td>';
- }
- echo '</tr>';
- }
- echo '</table>';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement