A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
|
|
@ -0,0 +1,24 @@
|
|||
package require Tcl 8.5
|
||||
namespace path {::tcl::mathop ::tcl::mathfunc}
|
||||
|
||||
proc matrix_exp {m pow} {
|
||||
if { ! [string is int -strict $pow]} {
|
||||
error "non-integer exponents not implemented"
|
||||
}
|
||||
if {$pow < 0} {
|
||||
error "negative exponents not implemented"
|
||||
}
|
||||
lassign [size $m] rows cols
|
||||
# assume square matrix
|
||||
set temp [identity $rows]
|
||||
for {set n 1} {$n <= $pow} {incr n} {
|
||||
set temp [matrix_multiply $temp $m]
|
||||
}
|
||||
return $temp
|
||||
}
|
||||
|
||||
proc identity {size} {
|
||||
set i [lrepeat $size [lrepeat $size 0]]
|
||||
for {set n 0} {$n < $size} {incr n} {lset i $n $n 1}
|
||||
return $i
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue