Created
February 5, 2013 19:57
-
-
Save takkkun/4717124 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
trait Matrix | |
trait SquareMatrix[M <: SquareMatrix[M]] { | |
def inverse(): Option[M] | |
} | |
trait Rows1 | |
trait Rows2 | |
trait Rows3 | |
trait Rows4 | |
trait Rows5 | |
trait Rows6 | |
trait Rows7 | |
trait Rows8 | |
trait Rows9 | |
trait Rows10 | |
trait Columns1 { | |
def *(other: Matrix1x1): Columns1 | |
def *(other: Matrix1x2): Columns2 | |
def *(other: Matrix1x3): Columns3 | |
def *(other: Matrix1x4): Columns4 | |
def *(other: Matrix1x5): Columns5 | |
def *(other: Matrix1x6): Columns6 | |
def *(other: Matrix1x7): Columns7 | |
def *(other: Matrix1x8): Columns8 | |
def *(other: Matrix1x9): Columns9 | |
def *(other: Matrix1x10): Columns10 | |
} | |
trait Columns2 { | |
def *(other: Matrix2x1): Columns1 | |
def *(other: Matrix2x2): Columns2 | |
def *(other: Matrix2x3): Columns3 | |
def *(other: Matrix2x4): Columns4 | |
def *(other: Matrix2x5): Columns5 | |
def *(other: Matrix2x6): Columns6 | |
def *(other: Matrix2x7): Columns7 | |
def *(other: Matrix2x8): Columns8 | |
def *(other: Matrix2x9): Columns9 | |
def *(other: Matrix2x10): Columns10 | |
} | |
trait Columns3 { | |
def *(other: Matrix3x1): Columns1 | |
def *(other: Matrix3x2): Columns2 | |
def *(other: Matrix3x3): Columns3 | |
def *(other: Matrix3x4): Columns4 | |
def *(other: Matrix3x5): Columns5 | |
def *(other: Matrix3x6): Columns6 | |
def *(other: Matrix3x7): Columns7 | |
def *(other: Matrix3x8): Columns8 | |
def *(other: Matrix3x9): Columns9 | |
def *(other: Matrix3x10): Columns10 | |
} | |
trait Columns4 { | |
def *(other: Matrix4x1): Columns1 | |
def *(other: Matrix4x2): Columns2 | |
def *(other: Matrix4x3): Columns3 | |
def *(other: Matrix4x4): Columns4 | |
def *(other: Matrix4x5): Columns5 | |
def *(other: Matrix4x6): Columns6 | |
def *(other: Matrix4x7): Columns7 | |
def *(other: Matrix4x8): Columns8 | |
def *(other: Matrix4x9): Columns9 | |
def *(other: Matrix4x10): Columns10 | |
} | |
trait Columns5 { | |
def *(other: Matrix5x1): Columns1 | |
def *(other: Matrix5x2): Columns2 | |
def *(other: Matrix5x3): Columns3 | |
def *(other: Matrix5x4): Columns4 | |
def *(other: Matrix5x5): Columns5 | |
def *(other: Matrix5x6): Columns6 | |
def *(other: Matrix5x7): Columns7 | |
def *(other: Matrix5x8): Columns8 | |
def *(other: Matrix5x9): Columns9 | |
def *(other: Matrix5x10): Columns10 | |
} | |
trait Columns6 { | |
def *(other: Matrix6x1): Columns1 | |
def *(other: Matrix6x2): Columns2 | |
def *(other: Matrix6x3): Columns3 | |
def *(other: Matrix6x4): Columns4 | |
def *(other: Matrix6x5): Columns5 | |
def *(other: Matrix6x6): Columns6 | |
def *(other: Matrix6x7): Columns7 | |
def *(other: Matrix6x8): Columns8 | |
def *(other: Matrix6x9): Columns9 | |
def *(other: Matrix6x10): Columns10 | |
} | |
trait Columns7 { | |
def *(other: Matrix7x1): Columns1 | |
def *(other: Matrix7x2): Columns2 | |
def *(other: Matrix7x3): Columns3 | |
def *(other: Matrix7x4): Columns4 | |
def *(other: Matrix7x5): Columns5 | |
def *(other: Matrix7x6): Columns6 | |
def *(other: Matrix7x7): Columns7 | |
def *(other: Matrix7x8): Columns8 | |
def *(other: Matrix7x9): Columns9 | |
def *(other: Matrix7x10): Columns10 | |
} | |
trait Columns8 { | |
def *(other: Matrix8x1): Columns1 | |
def *(other: Matrix8x2): Columns2 | |
def *(other: Matrix8x3): Columns3 | |
def *(other: Matrix8x4): Columns4 | |
def *(other: Matrix8x5): Columns5 | |
def *(other: Matrix8x6): Columns6 | |
def *(other: Matrix8x7): Columns7 | |
def *(other: Matrix8x8): Columns8 | |
def *(other: Matrix8x9): Columns9 | |
def *(other: Matrix8x10): Columns10 | |
} | |
trait Columns9 { | |
def *(other: Matrix9x1): Columns1 | |
def *(other: Matrix9x2): Columns2 | |
def *(other: Matrix9x3): Columns3 | |
def *(other: Matrix9x4): Columns4 | |
def *(other: Matrix9x5): Columns5 | |
def *(other: Matrix9x6): Columns6 | |
def *(other: Matrix9x7): Columns7 | |
def *(other: Matrix9x8): Columns8 | |
def *(other: Matrix9x9): Columns9 | |
def *(other: Matrix9x10): Columns10 | |
} | |
trait Columns10 { | |
def *(other: Matrix10x1): Columns1 | |
def *(other: Matrix10x2): Columns2 | |
def *(other: Matrix10x3): Columns3 | |
def *(other: Matrix10x4): Columns4 | |
def *(other: Matrix10x5): Columns5 | |
def *(other: Matrix10x6): Columns6 | |
def *(other: Matrix10x7): Columns7 | |
def *(other: Matrix10x8): Columns8 | |
def *(other: Matrix10x9): Columns9 | |
def *(other: Matrix10x10): Columns10 | |
} | |
case class Matrix1x1( | |
_1: Tuple1[Double] | |
) extends Matrix with Rows1 with Columns1 with SquareMatrix[Matrix1x1] { | |
def *(other: Matrix1x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1) | |
) | |
def *(other: Matrix1x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1, _1._1 * other._1._2) | |
) | |
def *(other: Matrix1x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3) | |
) | |
def *(other: Matrix1x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4) | |
) | |
def *(other: Matrix1x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5) | |
) | |
def *(other: Matrix1x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6) | |
) | |
def *(other: Matrix1x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7) | |
) | |
def *(other: Matrix1x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8) | |
) | |
def *(other: Matrix1x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9) | |
) | |
def *(other: Matrix1x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9, _1._1 * other._1._10) | |
) | |
def inverse(): Option[Matrix1x1] = None | |
} | |
case class Matrix1x2( | |
_1: Tuple2[Double, Double] | |
) extends Matrix with Rows1 with Columns2 { | |
def *(other: Matrix2x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1) | |
) | |
def *(other: Matrix2x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2) | |
) | |
def *(other: Matrix2x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3) | |
) | |
def *(other: Matrix2x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4) | |
) | |
def *(other: Matrix2x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5) | |
) | |
def *(other: Matrix2x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6) | |
) | |
def *(other: Matrix2x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7) | |
) | |
def *(other: Matrix2x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8) | |
) | |
def *(other: Matrix2x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9) | |
) | |
def *(other: Matrix2x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9, _1._1 * other._1._10 + _1._2 * other._2._10) | |
) | |
} | |
case class Matrix1x3( | |
_1: Tuple3[Double, Double, Double] | |
) extends Matrix with Rows1 with Columns3 { | |
def *(other: Matrix3x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1) | |
) | |
def *(other: Matrix3x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2) | |
) | |
def *(other: Matrix3x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3) | |
) | |
def *(other: Matrix3x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4) | |
) | |
def *(other: Matrix3x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5) | |
) | |
def *(other: Matrix3x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6) | |
) | |
def *(other: Matrix3x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7) | |
) | |
def *(other: Matrix3x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8) | |
) | |
def *(other: Matrix3x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9) | |
) | |
def *(other: Matrix3x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10) | |
) | |
} | |
case class Matrix1x4( | |
_1: Tuple4[Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns4 { | |
def *(other: Matrix4x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1) | |
) | |
def *(other: Matrix4x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2) | |
) | |
def *(other: Matrix4x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3) | |
) | |
def *(other: Matrix4x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4) | |
) | |
def *(other: Matrix4x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5) | |
) | |
def *(other: Matrix4x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6) | |
) | |
def *(other: Matrix4x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7) | |
) | |
def *(other: Matrix4x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8) | |
) | |
def *(other: Matrix4x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9) | |
) | |
def *(other: Matrix4x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10) | |
) | |
} | |
case class Matrix1x5( | |
_1: Tuple5[Double, Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns5 { | |
def *(other: Matrix5x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1) | |
) | |
def *(other: Matrix5x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2) | |
) | |
def *(other: Matrix5x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3) | |
) | |
def *(other: Matrix5x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4) | |
) | |
def *(other: Matrix5x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5) | |
) | |
def *(other: Matrix5x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6) | |
) | |
def *(other: Matrix5x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7) | |
) | |
def *(other: Matrix5x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8) | |
) | |
def *(other: Matrix5x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9) | |
) | |
def *(other: Matrix5x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10) | |
) | |
} | |
case class Matrix1x6( | |
_1: Tuple6[Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns6 { | |
def *(other: Matrix6x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1) | |
) | |
def *(other: Matrix6x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2) | |
) | |
def *(other: Matrix6x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3) | |
) | |
def *(other: Matrix6x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4) | |
) | |
def *(other: Matrix6x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5) | |
) | |
def *(other: Matrix6x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6) | |
) | |
def *(other: Matrix6x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7) | |
) | |
def *(other: Matrix6x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8) | |
) | |
def *(other: Matrix6x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9) | |
) | |
def *(other: Matrix6x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10) | |
) | |
} | |
case class Matrix1x7( | |
_1: Tuple7[Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns7 { | |
def *(other: Matrix7x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1) | |
) | |
def *(other: Matrix7x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2) | |
) | |
def *(other: Matrix7x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3) | |
) | |
def *(other: Matrix7x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4) | |
) | |
def *(other: Matrix7x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5) | |
) | |
def *(other: Matrix7x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6) | |
) | |
def *(other: Matrix7x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7) | |
) | |
def *(other: Matrix7x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8) | |
) | |
def *(other: Matrix7x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9) | |
) | |
def *(other: Matrix7x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10) | |
) | |
} | |
case class Matrix1x8( | |
_1: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns8 { | |
def *(other: Matrix8x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1) | |
) | |
def *(other: Matrix8x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2) | |
) | |
def *(other: Matrix8x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3) | |
) | |
def *(other: Matrix8x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4) | |
) | |
def *(other: Matrix8x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5) | |
) | |
def *(other: Matrix8x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6) | |
) | |
def *(other: Matrix8x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7) | |
) | |
def *(other: Matrix8x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8) | |
) | |
def *(other: Matrix8x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9) | |
) | |
def *(other: Matrix8x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10) | |
) | |
} | |
case class Matrix1x9( | |
_1: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns9 { | |
def *(other: Matrix9x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1) | |
) | |
def *(other: Matrix9x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2) | |
) | |
def *(other: Matrix9x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3) | |
) | |
def *(other: Matrix9x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4) | |
) | |
def *(other: Matrix9x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5) | |
) | |
def *(other: Matrix9x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6) | |
) | |
def *(other: Matrix9x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7) | |
) | |
def *(other: Matrix9x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8) | |
) | |
def *(other: Matrix9x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9) | |
) | |
def *(other: Matrix9x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10) | |
) | |
} | |
case class Matrix1x10( | |
_1: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows1 with Columns10 { | |
def *(other: Matrix10x1) = Matrix1x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1) | |
) | |
def *(other: Matrix10x2) = Matrix1x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2) | |
) | |
def *(other: Matrix10x3) = Matrix1x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3) | |
) | |
def *(other: Matrix10x4) = Matrix1x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4) | |
) | |
def *(other: Matrix10x5) = Matrix1x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5) | |
) | |
def *(other: Matrix10x6) = Matrix1x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6) | |
) | |
def *(other: Matrix10x7) = Matrix1x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7) | |
) | |
def *(other: Matrix10x8) = Matrix1x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8) | |
) | |
def *(other: Matrix10x9) = Matrix1x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9) | |
) | |
def *(other: Matrix10x10) = Matrix1x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10 + _1._10 * other._10._10) | |
) | |
} | |
case class Matrix2x1( | |
_1: Tuple1[Double], | |
_2: Tuple1[Double] | |
) extends Matrix with Rows2 with Columns1 { | |
def *(other: Matrix1x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1), | |
Tuple1(_2._1 * other._1._1) | |
) | |
def *(other: Matrix1x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1, _1._1 * other._1._2), | |
Tuple2(_2._1 * other._1._1, _2._1 * other._1._2) | |
) | |
def *(other: Matrix1x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3), | |
Tuple3(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3) | |
) | |
def *(other: Matrix1x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4), | |
Tuple4(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4) | |
) | |
def *(other: Matrix1x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5), | |
Tuple5(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5) | |
) | |
def *(other: Matrix1x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6), | |
Tuple6(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6) | |
) | |
def *(other: Matrix1x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7), | |
Tuple7(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7) | |
) | |
def *(other: Matrix1x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8), | |
Tuple8(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8) | |
) | |
def *(other: Matrix1x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9), | |
Tuple9(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9) | |
) | |
def *(other: Matrix1x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9, _1._1 * other._1._10), | |
Tuple10(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9, _2._1 * other._1._10) | |
) | |
} | |
case class Matrix2x2( | |
_1: Tuple2[Double, Double], | |
_2: Tuple2[Double, Double] | |
) extends Matrix with Rows2 with Columns2 with SquareMatrix[Matrix2x2] { | |
def *(other: Matrix2x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1) | |
) | |
def *(other: Matrix2x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2) | |
) | |
def *(other: Matrix2x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3) | |
) | |
def *(other: Matrix2x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4) | |
) | |
def *(other: Matrix2x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5) | |
) | |
def *(other: Matrix2x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6) | |
) | |
def *(other: Matrix2x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7) | |
) | |
def *(other: Matrix2x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8) | |
) | |
def *(other: Matrix2x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9) | |
) | |
def *(other: Matrix2x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9, _1._1 * other._1._10 + _1._2 * other._2._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9, _2._1 * other._1._10 + _2._2 * other._2._10) | |
) | |
def inverse(): Option[Matrix2x2] = None | |
} | |
case class Matrix2x3( | |
_1: Tuple3[Double, Double, Double], | |
_2: Tuple3[Double, Double, Double] | |
) extends Matrix with Rows2 with Columns3 { | |
def *(other: Matrix3x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1) | |
) | |
def *(other: Matrix3x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2) | |
) | |
def *(other: Matrix3x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3) | |
) | |
def *(other: Matrix3x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4) | |
) | |
def *(other: Matrix3x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5) | |
) | |
def *(other: Matrix3x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6) | |
) | |
def *(other: Matrix3x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7) | |
) | |
def *(other: Matrix3x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8) | |
) | |
def *(other: Matrix3x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9) | |
) | |
def *(other: Matrix3x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10) | |
) | |
} | |
case class Matrix2x4( | |
_1: Tuple4[Double, Double, Double, Double], | |
_2: Tuple4[Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns4 { | |
def *(other: Matrix4x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1) | |
) | |
def *(other: Matrix4x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2) | |
) | |
def *(other: Matrix4x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3) | |
) | |
def *(other: Matrix4x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4) | |
) | |
def *(other: Matrix4x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5) | |
) | |
def *(other: Matrix4x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6) | |
) | |
def *(other: Matrix4x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7) | |
) | |
def *(other: Matrix4x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8) | |
) | |
def *(other: Matrix4x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9) | |
) | |
def *(other: Matrix4x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10) | |
) | |
} | |
case class Matrix2x5( | |
_1: Tuple5[Double, Double, Double, Double, Double], | |
_2: Tuple5[Double, Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns5 { | |
def *(other: Matrix5x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1) | |
) | |
def *(other: Matrix5x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2) | |
) | |
def *(other: Matrix5x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3) | |
) | |
def *(other: Matrix5x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4) | |
) | |
def *(other: Matrix5x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5) | |
) | |
def *(other: Matrix5x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6) | |
) | |
def *(other: Matrix5x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7) | |
) | |
def *(other: Matrix5x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8) | |
) | |
def *(other: Matrix5x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9) | |
) | |
def *(other: Matrix5x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10) | |
) | |
} | |
case class Matrix2x6( | |
_1: Tuple6[Double, Double, Double, Double, Double, Double], | |
_2: Tuple6[Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns6 { | |
def *(other: Matrix6x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1) | |
) | |
def *(other: Matrix6x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2) | |
) | |
def *(other: Matrix6x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3) | |
) | |
def *(other: Matrix6x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4) | |
) | |
def *(other: Matrix6x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5) | |
) | |
def *(other: Matrix6x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6) | |
) | |
def *(other: Matrix6x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7) | |
) | |
def *(other: Matrix6x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8) | |
) | |
def *(other: Matrix6x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9) | |
) | |
def *(other: Matrix6x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10) | |
) | |
} | |
case class Matrix2x7( | |
_1: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple7[Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns7 { | |
def *(other: Matrix7x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1) | |
) | |
def *(other: Matrix7x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2) | |
) | |
def *(other: Matrix7x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3) | |
) | |
def *(other: Matrix7x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4) | |
) | |
def *(other: Matrix7x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5) | |
) | |
def *(other: Matrix7x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6) | |
) | |
def *(other: Matrix7x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7) | |
) | |
def *(other: Matrix7x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8) | |
) | |
def *(other: Matrix7x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9) | |
) | |
def *(other: Matrix7x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10) | |
) | |
} | |
case class Matrix2x8( | |
_1: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns8 { | |
def *(other: Matrix8x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1) | |
) | |
def *(other: Matrix8x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2) | |
) | |
def *(other: Matrix8x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3) | |
) | |
def *(other: Matrix8x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4) | |
) | |
def *(other: Matrix8x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5) | |
) | |
def *(other: Matrix8x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6) | |
) | |
def *(other: Matrix8x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7) | |
) | |
def *(other: Matrix8x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8) | |
) | |
def *(other: Matrix8x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9) | |
) | |
def *(other: Matrix8x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10) | |
) | |
} | |
case class Matrix2x9( | |
_1: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns9 { | |
def *(other: Matrix9x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1) | |
) | |
def *(other: Matrix9x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2) | |
) | |
def *(other: Matrix9x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3) | |
) | |
def *(other: Matrix9x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4) | |
) | |
def *(other: Matrix9x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5) | |
) | |
def *(other: Matrix9x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6) | |
) | |
def *(other: Matrix9x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7) | |
) | |
def *(other: Matrix9x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8) | |
) | |
def *(other: Matrix9x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9) | |
) | |
def *(other: Matrix9x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10 + _2._9 * other._9._10) | |
) | |
} | |
case class Matrix2x10( | |
_1: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows2 with Columns10 { | |
def *(other: Matrix10x1) = Matrix2x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1) | |
) | |
def *(other: Matrix10x2) = Matrix2x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2) | |
) | |
def *(other: Matrix10x3) = Matrix2x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3) | |
) | |
def *(other: Matrix10x4) = Matrix2x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4) | |
) | |
def *(other: Matrix10x5) = Matrix2x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5) | |
) | |
def *(other: Matrix10x6) = Matrix2x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6) | |
) | |
def *(other: Matrix10x7) = Matrix2x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7) | |
) | |
def *(other: Matrix10x8) = Matrix2x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8) | |
) | |
def *(other: Matrix10x9) = Matrix2x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9 + _2._10 * other._10._9) | |
) | |
def *(other: Matrix10x10) = Matrix2x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10 + _1._10 * other._10._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9 + _2._10 * other._10._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10 + _2._9 * other._9._10 + _2._10 * other._10._10) | |
) | |
} | |
case class Matrix3x1( | |
_1: Tuple1[Double], | |
_2: Tuple1[Double], | |
_3: Tuple1[Double] | |
) extends Matrix with Rows3 with Columns1 { | |
def *(other: Matrix1x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1), | |
Tuple1(_2._1 * other._1._1), | |
Tuple1(_3._1 * other._1._1) | |
) | |
def *(other: Matrix1x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1, _1._1 * other._1._2), | |
Tuple2(_2._1 * other._1._1, _2._1 * other._1._2), | |
Tuple2(_3._1 * other._1._1, _3._1 * other._1._2) | |
) | |
def *(other: Matrix1x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3), | |
Tuple3(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3), | |
Tuple3(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3) | |
) | |
def *(other: Matrix1x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4), | |
Tuple4(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4), | |
Tuple4(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4) | |
) | |
def *(other: Matrix1x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5), | |
Tuple5(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5), | |
Tuple5(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5) | |
) | |
def *(other: Matrix1x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6), | |
Tuple6(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6), | |
Tuple6(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6) | |
) | |
def *(other: Matrix1x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7), | |
Tuple7(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7), | |
Tuple7(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7) | |
) | |
def *(other: Matrix1x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8), | |
Tuple8(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8), | |
Tuple8(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8) | |
) | |
def *(other: Matrix1x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9), | |
Tuple9(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9), | |
Tuple9(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8, _3._1 * other._1._9) | |
) | |
def *(other: Matrix1x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9, _1._1 * other._1._10), | |
Tuple10(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9, _2._1 * other._1._10), | |
Tuple10(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8, _3._1 * other._1._9, _3._1 * other._1._10) | |
) | |
} | |
case class Matrix3x2( | |
_1: Tuple2[Double, Double], | |
_2: Tuple2[Double, Double], | |
_3: Tuple2[Double, Double] | |
) extends Matrix with Rows3 with Columns2 { | |
def *(other: Matrix2x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1) | |
) | |
def *(other: Matrix2x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2) | |
) | |
def *(other: Matrix2x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3) | |
) | |
def *(other: Matrix2x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4) | |
) | |
def *(other: Matrix2x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5) | |
) | |
def *(other: Matrix2x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6) | |
) | |
def *(other: Matrix2x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7) | |
) | |
def *(other: Matrix2x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8) | |
) | |
def *(other: Matrix2x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8, _3._1 * other._1._9 + _3._2 * other._2._9) | |
) | |
def *(other: Matrix2x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9, _1._1 * other._1._10 + _1._2 * other._2._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9, _2._1 * other._1._10 + _2._2 * other._2._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8, _3._1 * other._1._9 + _3._2 * other._2._9, _3._1 * other._1._10 + _3._2 * other._2._10) | |
) | |
} | |
case class Matrix3x3( | |
_1: Tuple3[Double, Double, Double], | |
_2: Tuple3[Double, Double, Double], | |
_3: Tuple3[Double, Double, Double] | |
) extends Matrix with Rows3 with Columns3 with SquareMatrix[Matrix3x3] { | |
def *(other: Matrix3x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1) | |
) | |
def *(other: Matrix3x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2) | |
) | |
def *(other: Matrix3x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3) | |
) | |
def *(other: Matrix3x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4) | |
) | |
def *(other: Matrix3x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5) | |
) | |
def *(other: Matrix3x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6) | |
) | |
def *(other: Matrix3x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7) | |
) | |
def *(other: Matrix3x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8) | |
) | |
def *(other: Matrix3x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9) | |
) | |
def *(other: Matrix3x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10) | |
) | |
def inverse(): Option[Matrix3x3] = None | |
} | |
case class Matrix3x4( | |
_1: Tuple4[Double, Double, Double, Double], | |
_2: Tuple4[Double, Double, Double, Double], | |
_3: Tuple4[Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns4 { | |
def *(other: Matrix4x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1) | |
) | |
def *(other: Matrix4x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2) | |
) | |
def *(other: Matrix4x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3) | |
) | |
def *(other: Matrix4x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4) | |
) | |
def *(other: Matrix4x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5) | |
) | |
def *(other: Matrix4x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6) | |
) | |
def *(other: Matrix4x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7) | |
) | |
def *(other: Matrix4x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8) | |
) | |
def *(other: Matrix4x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9) | |
) | |
def *(other: Matrix4x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10) | |
) | |
} | |
case class Matrix3x5( | |
_1: Tuple5[Double, Double, Double, Double, Double], | |
_2: Tuple5[Double, Double, Double, Double, Double], | |
_3: Tuple5[Double, Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns5 { | |
def *(other: Matrix5x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1) | |
) | |
def *(other: Matrix5x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2) | |
) | |
def *(other: Matrix5x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3) | |
) | |
def *(other: Matrix5x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4) | |
) | |
def *(other: Matrix5x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5) | |
) | |
def *(other: Matrix5x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6) | |
) | |
def *(other: Matrix5x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7) | |
) | |
def *(other: Matrix5x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8) | |
) | |
def *(other: Matrix5x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9) | |
) | |
def *(other: Matrix5x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10) | |
) | |
} | |
case class Matrix3x6( | |
_1: Tuple6[Double, Double, Double, Double, Double, Double], | |
_2: Tuple6[Double, Double, Double, Double, Double, Double], | |
_3: Tuple6[Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns6 { | |
def *(other: Matrix6x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1) | |
) | |
def *(other: Matrix6x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2) | |
) | |
def *(other: Matrix6x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3) | |
) | |
def *(other: Matrix6x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4) | |
) | |
def *(other: Matrix6x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5) | |
) | |
def *(other: Matrix6x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6) | |
) | |
def *(other: Matrix6x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7) | |
) | |
def *(other: Matrix6x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8) | |
) | |
def *(other: Matrix6x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9) | |
) | |
def *(other: Matrix6x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10) | |
) | |
} | |
case class Matrix3x7( | |
_1: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple7[Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns7 { | |
def *(other: Matrix7x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1) | |
) | |
def *(other: Matrix7x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2) | |
) | |
def *(other: Matrix7x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3) | |
) | |
def *(other: Matrix7x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4) | |
) | |
def *(other: Matrix7x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5) | |
) | |
def *(other: Matrix7x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6) | |
) | |
def *(other: Matrix7x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7) | |
) | |
def *(other: Matrix7x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8) | |
) | |
def *(other: Matrix7x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9) | |
) | |
def *(other: Matrix7x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10) | |
) | |
} | |
case class Matrix3x8( | |
_1: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns8 { | |
def *(other: Matrix8x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1) | |
) | |
def *(other: Matrix8x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2) | |
) | |
def *(other: Matrix8x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3) | |
) | |
def *(other: Matrix8x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4) | |
) | |
def *(other: Matrix8x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5) | |
) | |
def *(other: Matrix8x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6) | |
) | |
def *(other: Matrix8x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7) | |
) | |
def *(other: Matrix8x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8) | |
) | |
def *(other: Matrix8x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9) | |
) | |
def *(other: Matrix8x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10 + _3._8 * other._8._10) | |
) | |
} | |
case class Matrix3x9( | |
_1: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns9 { | |
def *(other: Matrix9x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1) | |
) | |
def *(other: Matrix9x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2) | |
) | |
def *(other: Matrix9x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3) | |
) | |
def *(other: Matrix9x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4) | |
) | |
def *(other: Matrix9x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5) | |
) | |
def *(other: Matrix9x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6) | |
) | |
def *(other: Matrix9x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7) | |
) | |
def *(other: Matrix9x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8) | |
) | |
def *(other: Matrix9x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9) | |
) | |
def *(other: Matrix9x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10 + _2._9 * other._9._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10 + _3._8 * other._8._10 + _3._9 * other._9._10) | |
) | |
} | |
case class Matrix3x10( | |
_1: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows3 with Columns10 { | |
def *(other: Matrix10x1) = Matrix3x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1) | |
) | |
def *(other: Matrix10x2) = Matrix3x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2) | |
) | |
def *(other: Matrix10x3) = Matrix3x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3) | |
) | |
def *(other: Matrix10x4) = Matrix3x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4) | |
) | |
def *(other: Matrix10x5) = Matrix3x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5) | |
) | |
def *(other: Matrix10x6) = Matrix3x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6) | |
) | |
def *(other: Matrix10x7) = Matrix3x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7) | |
) | |
def *(other: Matrix10x8) = Matrix3x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8 + _3._10 * other._10._8) | |
) | |
def *(other: Matrix10x9) = Matrix3x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9 + _2._10 * other._10._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8 + _3._10 * other._10._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9 + _3._10 * other._10._9) | |
) | |
def *(other: Matrix10x10) = Matrix3x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10 + _1._10 * other._10._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9 + _2._10 * other._10._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10 + _2._9 * other._9._10 + _2._10 * other._10._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8 + _3._10 * other._10._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9 + _3._10 * other._10._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10 + _3._8 * other._8._10 + _3._9 * other._9._10 + _3._10 * other._10._10) | |
) | |
} | |
case class Matrix4x1( | |
_1: Tuple1[Double], | |
_2: Tuple1[Double], | |
_3: Tuple1[Double], | |
_4: Tuple1[Double] | |
) extends Matrix with Rows4 with Columns1 { | |
def *(other: Matrix1x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1), | |
Tuple1(_2._1 * other._1._1), | |
Tuple1(_3._1 * other._1._1), | |
Tuple1(_4._1 * other._1._1) | |
) | |
def *(other: Matrix1x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1, _1._1 * other._1._2), | |
Tuple2(_2._1 * other._1._1, _2._1 * other._1._2), | |
Tuple2(_3._1 * other._1._1, _3._1 * other._1._2), | |
Tuple2(_4._1 * other._1._1, _4._1 * other._1._2) | |
) | |
def *(other: Matrix1x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3), | |
Tuple3(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3), | |
Tuple3(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3), | |
Tuple3(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3) | |
) | |
def *(other: Matrix1x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4), | |
Tuple4(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4), | |
Tuple4(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4), | |
Tuple4(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4) | |
) | |
def *(other: Matrix1x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5), | |
Tuple5(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5), | |
Tuple5(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5), | |
Tuple5(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5) | |
) | |
def *(other: Matrix1x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6), | |
Tuple6(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6), | |
Tuple6(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6), | |
Tuple6(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6) | |
) | |
def *(other: Matrix1x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7), | |
Tuple7(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7), | |
Tuple7(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7), | |
Tuple7(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7) | |
) | |
def *(other: Matrix1x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8), | |
Tuple8(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8), | |
Tuple8(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8), | |
Tuple8(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7, _4._1 * other._1._8) | |
) | |
def *(other: Matrix1x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9), | |
Tuple9(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9), | |
Tuple9(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8, _3._1 * other._1._9), | |
Tuple9(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7, _4._1 * other._1._8, _4._1 * other._1._9) | |
) | |
def *(other: Matrix1x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9, _1._1 * other._1._10), | |
Tuple10(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9, _2._1 * other._1._10), | |
Tuple10(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8, _3._1 * other._1._9, _3._1 * other._1._10), | |
Tuple10(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7, _4._1 * other._1._8, _4._1 * other._1._9, _4._1 * other._1._10) | |
) | |
} | |
case class Matrix4x2( | |
_1: Tuple2[Double, Double], | |
_2: Tuple2[Double, Double], | |
_3: Tuple2[Double, Double], | |
_4: Tuple2[Double, Double] | |
) extends Matrix with Rows4 with Columns2 { | |
def *(other: Matrix2x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1) | |
) | |
def *(other: Matrix2x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2) | |
) | |
def *(other: Matrix2x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3) | |
) | |
def *(other: Matrix2x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4) | |
) | |
def *(other: Matrix2x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5) | |
) | |
def *(other: Matrix2x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6) | |
) | |
def *(other: Matrix2x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7) | |
) | |
def *(other: Matrix2x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7, _4._1 * other._1._8 + _4._2 * other._2._8) | |
) | |
def *(other: Matrix2x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8, _3._1 * other._1._9 + _3._2 * other._2._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7, _4._1 * other._1._8 + _4._2 * other._2._8, _4._1 * other._1._9 + _4._2 * other._2._9) | |
) | |
def *(other: Matrix2x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9, _1._1 * other._1._10 + _1._2 * other._2._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9, _2._1 * other._1._10 + _2._2 * other._2._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8, _3._1 * other._1._9 + _3._2 * other._2._9, _3._1 * other._1._10 + _3._2 * other._2._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7, _4._1 * other._1._8 + _4._2 * other._2._8, _4._1 * other._1._9 + _4._2 * other._2._9, _4._1 * other._1._10 + _4._2 * other._2._10) | |
) | |
} | |
case class Matrix4x3( | |
_1: Tuple3[Double, Double, Double], | |
_2: Tuple3[Double, Double, Double], | |
_3: Tuple3[Double, Double, Double], | |
_4: Tuple3[Double, Double, Double] | |
) extends Matrix with Rows4 with Columns3 { | |
def *(other: Matrix3x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1) | |
) | |
def *(other: Matrix3x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2) | |
) | |
def *(other: Matrix3x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3) | |
) | |
def *(other: Matrix3x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4) | |
) | |
def *(other: Matrix3x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5) | |
) | |
def *(other: Matrix3x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6) | |
) | |
def *(other: Matrix3x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7) | |
) | |
def *(other: Matrix3x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8) | |
) | |
def *(other: Matrix3x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9) | |
) | |
def *(other: Matrix3x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10) | |
) | |
} | |
case class Matrix4x4( | |
_1: Tuple4[Double, Double, Double, Double], | |
_2: Tuple4[Double, Double, Double, Double], | |
_3: Tuple4[Double, Double, Double, Double], | |
_4: Tuple4[Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns4 with SquareMatrix[Matrix4x4] { | |
def *(other: Matrix4x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1) | |
) | |
def *(other: Matrix4x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2) | |
) | |
def *(other: Matrix4x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3) | |
) | |
def *(other: Matrix4x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4) | |
) | |
def *(other: Matrix4x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5) | |
) | |
def *(other: Matrix4x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6) | |
) | |
def *(other: Matrix4x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7) | |
) | |
def *(other: Matrix4x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8) | |
) | |
def *(other: Matrix4x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9) | |
) | |
def *(other: Matrix4x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10) | |
) | |
def inverse(): Option[Matrix4x4] = None | |
} | |
case class Matrix4x5( | |
_1: Tuple5[Double, Double, Double, Double, Double], | |
_2: Tuple5[Double, Double, Double, Double, Double], | |
_3: Tuple5[Double, Double, Double, Double, Double], | |
_4: Tuple5[Double, Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns5 { | |
def *(other: Matrix5x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1) | |
) | |
def *(other: Matrix5x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2) | |
) | |
def *(other: Matrix5x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3) | |
) | |
def *(other: Matrix5x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4) | |
) | |
def *(other: Matrix5x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5) | |
) | |
def *(other: Matrix5x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6) | |
) | |
def *(other: Matrix5x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7) | |
) | |
def *(other: Matrix5x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8) | |
) | |
def *(other: Matrix5x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9) | |
) | |
def *(other: Matrix5x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10) | |
) | |
} | |
case class Matrix4x6( | |
_1: Tuple6[Double, Double, Double, Double, Double, Double], | |
_2: Tuple6[Double, Double, Double, Double, Double, Double], | |
_3: Tuple6[Double, Double, Double, Double, Double, Double], | |
_4: Tuple6[Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns6 { | |
def *(other: Matrix6x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1) | |
) | |
def *(other: Matrix6x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2) | |
) | |
def *(other: Matrix6x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3) | |
) | |
def *(other: Matrix6x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4) | |
) | |
def *(other: Matrix6x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5) | |
) | |
def *(other: Matrix6x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6) | |
) | |
def *(other: Matrix6x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7) | |
) | |
def *(other: Matrix6x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8) | |
) | |
def *(other: Matrix6x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9) | |
) | |
def *(other: Matrix6x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10) | |
) | |
} | |
case class Matrix4x7( | |
_1: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_4: Tuple7[Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns7 { | |
def *(other: Matrix7x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1) | |
) | |
def *(other: Matrix7x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2) | |
) | |
def *(other: Matrix7x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3) | |
) | |
def *(other: Matrix7x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4) | |
) | |
def *(other: Matrix7x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5) | |
) | |
def *(other: Matrix7x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6) | |
) | |
def *(other: Matrix7x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7) | |
) | |
def *(other: Matrix7x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8) | |
) | |
def *(other: Matrix7x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9) | |
) | |
def *(other: Matrix7x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10 + _4._7 * other._7._10) | |
) | |
} | |
case class Matrix4x8( | |
_1: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_4: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns8 { | |
def *(other: Matrix8x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1) | |
) | |
def *(other: Matrix8x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2) | |
) | |
def *(other: Matrix8x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3) | |
) | |
def *(other: Matrix8x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4) | |
) | |
def *(other: Matrix8x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5) | |
) | |
def *(other: Matrix8x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6) | |
) | |
def *(other: Matrix8x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7) | |
) | |
def *(other: Matrix8x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8) | |
) | |
def *(other: Matrix8x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9) | |
) | |
def *(other: Matrix8x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10 + _3._8 * other._8._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10 + _4._7 * other._7._10 + _4._8 * other._8._10) | |
) | |
} | |
case class Matrix4x9( | |
_1: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_4: Tuple9[Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns9 { | |
def *(other: Matrix9x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1) | |
) | |
def *(other: Matrix9x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2) | |
) | |
def *(other: Matrix9x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3) | |
) | |
def *(other: Matrix9x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4) | |
) | |
def *(other: Matrix9x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5) | |
) | |
def *(other: Matrix9x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6) | |
) | |
def *(other: Matrix9x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7) | |
) | |
def *(other: Matrix9x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8 + _4._9 * other._9._8) | |
) | |
def *(other: Matrix9x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8 + _4._9 * other._9._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9 + _4._9 * other._9._9) | |
) | |
def *(other: Matrix9x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10 + _2._9 * other._9._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10 + _3._8 * other._8._10 + _3._9 * other._9._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8 + _4._9 * other._9._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9 + _4._9 * other._9._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10 + _4._7 * other._7._10 + _4._8 * other._8._10 + _4._9 * other._9._10) | |
) | |
} | |
case class Matrix4x10( | |
_1: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double], | |
_4: Tuple10[Double, Double, Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows4 with Columns10 { | |
def *(other: Matrix10x1) = Matrix4x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1) | |
) | |
def *(other: Matrix10x2) = Matrix4x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2) | |
) | |
def *(other: Matrix10x3) = Matrix4x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3) | |
) | |
def *(other: Matrix10x4) = Matrix4x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4) | |
) | |
def *(other: Matrix10x5) = Matrix4x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5 + _4._10 * other._10._5) | |
) | |
def *(other: Matrix10x6) = Matrix4x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5 + _4._10 * other._10._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6 + _4._10 * other._10._6) | |
) | |
def *(other: Matrix10x7) = Matrix4x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5 + _4._10 * other._10._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6 + _4._10 * other._10._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7 + _4._10 * other._10._7) | |
) | |
def *(other: Matrix10x8) = Matrix4x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8 + _3._10 * other._10._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5 + _4._10 * other._10._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6 + _4._10 * other._10._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7 + _4._10 * other._10._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8 + _4._9 * other._9._8 + _4._10 * other._10._8) | |
) | |
def *(other: Matrix10x9) = Matrix4x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9 + _2._10 * other._10._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8 + _3._10 * other._10._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9 + _3._10 * other._10._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5 + _4._10 * other._10._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6 + _4._10 * other._10._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7 + _4._10 * other._10._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8 + _4._9 * other._9._8 + _4._10 * other._10._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9 + _4._9 * other._9._9 + _4._10 * other._10._9) | |
) | |
def *(other: Matrix10x10) = Matrix4x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1 + _1._9 * other._9._1 + _1._10 * other._10._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2 + _1._9 * other._9._2 + _1._10 * other._10._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3 + _1._9 * other._9._3 + _1._10 * other._10._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4 + _1._9 * other._9._4 + _1._10 * other._10._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5 + _1._9 * other._9._5 + _1._10 * other._10._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6 + _1._9 * other._9._6 + _1._10 * other._10._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7 + _1._9 * other._9._7 + _1._10 * other._10._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8 + _1._9 * other._9._8 + _1._10 * other._10._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9 + _1._9 * other._9._9 + _1._10 * other._10._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10 + _1._8 * other._8._10 + _1._9 * other._9._10 + _1._10 * other._10._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1 + _2._9 * other._9._1 + _2._10 * other._10._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2 + _2._9 * other._9._2 + _2._10 * other._10._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3 + _2._9 * other._9._3 + _2._10 * other._10._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4 + _2._9 * other._9._4 + _2._10 * other._10._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5 + _2._9 * other._9._5 + _2._10 * other._10._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6 + _2._9 * other._9._6 + _2._10 * other._10._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7 + _2._9 * other._9._7 + _2._10 * other._10._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8 + _2._9 * other._9._8 + _2._10 * other._10._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9 + _2._9 * other._9._9 + _2._10 * other._10._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10 + _2._8 * other._8._10 + _2._9 * other._9._10 + _2._10 * other._10._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1 + _3._9 * other._9._1 + _3._10 * other._10._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2 + _3._9 * other._9._2 + _3._10 * other._10._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3 + _3._9 * other._9._3 + _3._10 * other._10._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4 + _3._9 * other._9._4 + _3._10 * other._10._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5 + _3._9 * other._9._5 + _3._10 * other._10._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6 + _3._9 * other._9._6 + _3._10 * other._10._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7 + _3._9 * other._9._7 + _3._10 * other._10._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8 + _3._9 * other._9._8 + _3._10 * other._10._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9 + _3._9 * other._9._9 + _3._10 * other._10._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10 + _3._8 * other._8._10 + _3._9 * other._9._10 + _3._10 * other._10._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1 + _4._9 * other._9._1 + _4._10 * other._10._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2 + _4._9 * other._9._2 + _4._10 * other._10._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3 + _4._9 * other._9._3 + _4._10 * other._10._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4 + _4._9 * other._9._4 + _4._10 * other._10._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5 + _4._9 * other._9._5 + _4._10 * other._10._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6 + _4._9 * other._9._6 + _4._10 * other._10._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7 + _4._9 * other._9._7 + _4._10 * other._10._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8 + _4._9 * other._9._8 + _4._10 * other._10._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9 + _4._9 * other._9._9 + _4._10 * other._10._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10 + _4._7 * other._7._10 + _4._8 * other._8._10 + _4._9 * other._9._10 + _4._10 * other._10._10) | |
) | |
} | |
case class Matrix5x1( | |
_1: Tuple1[Double], | |
_2: Tuple1[Double], | |
_3: Tuple1[Double], | |
_4: Tuple1[Double], | |
_5: Tuple1[Double] | |
) extends Matrix with Rows5 with Columns1 { | |
def *(other: Matrix1x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1), | |
Tuple1(_2._1 * other._1._1), | |
Tuple1(_3._1 * other._1._1), | |
Tuple1(_4._1 * other._1._1), | |
Tuple1(_5._1 * other._1._1) | |
) | |
def *(other: Matrix1x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1, _1._1 * other._1._2), | |
Tuple2(_2._1 * other._1._1, _2._1 * other._1._2), | |
Tuple2(_3._1 * other._1._1, _3._1 * other._1._2), | |
Tuple2(_4._1 * other._1._1, _4._1 * other._1._2), | |
Tuple2(_5._1 * other._1._1, _5._1 * other._1._2) | |
) | |
def *(other: Matrix1x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3), | |
Tuple3(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3), | |
Tuple3(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3), | |
Tuple3(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3), | |
Tuple3(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3) | |
) | |
def *(other: Matrix1x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4), | |
Tuple4(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4), | |
Tuple4(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4), | |
Tuple4(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4), | |
Tuple4(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4) | |
) | |
def *(other: Matrix1x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5), | |
Tuple5(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5), | |
Tuple5(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5), | |
Tuple5(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5), | |
Tuple5(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4, _5._1 * other._1._5) | |
) | |
def *(other: Matrix1x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6), | |
Tuple6(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6), | |
Tuple6(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6), | |
Tuple6(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6), | |
Tuple6(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4, _5._1 * other._1._5, _5._1 * other._1._6) | |
) | |
def *(other: Matrix1x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7), | |
Tuple7(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7), | |
Tuple7(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7), | |
Tuple7(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7), | |
Tuple7(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4, _5._1 * other._1._5, _5._1 * other._1._6, _5._1 * other._1._7) | |
) | |
def *(other: Matrix1x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8), | |
Tuple8(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8), | |
Tuple8(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8), | |
Tuple8(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7, _4._1 * other._1._8), | |
Tuple8(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4, _5._1 * other._1._5, _5._1 * other._1._6, _5._1 * other._1._7, _5._1 * other._1._8) | |
) | |
def *(other: Matrix1x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9), | |
Tuple9(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9), | |
Tuple9(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8, _3._1 * other._1._9), | |
Tuple9(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7, _4._1 * other._1._8, _4._1 * other._1._9), | |
Tuple9(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4, _5._1 * other._1._5, _5._1 * other._1._6, _5._1 * other._1._7, _5._1 * other._1._8, _5._1 * other._1._9) | |
) | |
def *(other: Matrix1x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1, _1._1 * other._1._2, _1._1 * other._1._3, _1._1 * other._1._4, _1._1 * other._1._5, _1._1 * other._1._6, _1._1 * other._1._7, _1._1 * other._1._8, _1._1 * other._1._9, _1._1 * other._1._10), | |
Tuple10(_2._1 * other._1._1, _2._1 * other._1._2, _2._1 * other._1._3, _2._1 * other._1._4, _2._1 * other._1._5, _2._1 * other._1._6, _2._1 * other._1._7, _2._1 * other._1._8, _2._1 * other._1._9, _2._1 * other._1._10), | |
Tuple10(_3._1 * other._1._1, _3._1 * other._1._2, _3._1 * other._1._3, _3._1 * other._1._4, _3._1 * other._1._5, _3._1 * other._1._6, _3._1 * other._1._7, _3._1 * other._1._8, _3._1 * other._1._9, _3._1 * other._1._10), | |
Tuple10(_4._1 * other._1._1, _4._1 * other._1._2, _4._1 * other._1._3, _4._1 * other._1._4, _4._1 * other._1._5, _4._1 * other._1._6, _4._1 * other._1._7, _4._1 * other._1._8, _4._1 * other._1._9, _4._1 * other._1._10), | |
Tuple10(_5._1 * other._1._1, _5._1 * other._1._2, _5._1 * other._1._3, _5._1 * other._1._4, _5._1 * other._1._5, _5._1 * other._1._6, _5._1 * other._1._7, _5._1 * other._1._8, _5._1 * other._1._9, _5._1 * other._1._10) | |
) | |
} | |
case class Matrix5x2( | |
_1: Tuple2[Double, Double], | |
_2: Tuple2[Double, Double], | |
_3: Tuple2[Double, Double], | |
_4: Tuple2[Double, Double], | |
_5: Tuple2[Double, Double] | |
) extends Matrix with Rows5 with Columns2 { | |
def *(other: Matrix2x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1) | |
) | |
def *(other: Matrix2x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2) | |
) | |
def *(other: Matrix2x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3) | |
) | |
def *(other: Matrix2x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4) | |
) | |
def *(other: Matrix2x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4, _5._1 * other._1._5 + _5._2 * other._2._5) | |
) | |
def *(other: Matrix2x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4, _5._1 * other._1._5 + _5._2 * other._2._5, _5._1 * other._1._6 + _5._2 * other._2._6) | |
) | |
def *(other: Matrix2x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4, _5._1 * other._1._5 + _5._2 * other._2._5, _5._1 * other._1._6 + _5._2 * other._2._6, _5._1 * other._1._7 + _5._2 * other._2._7) | |
) | |
def *(other: Matrix2x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7, _4._1 * other._1._8 + _4._2 * other._2._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4, _5._1 * other._1._5 + _5._2 * other._2._5, _5._1 * other._1._6 + _5._2 * other._2._6, _5._1 * other._1._7 + _5._2 * other._2._7, _5._1 * other._1._8 + _5._2 * other._2._8) | |
) | |
def *(other: Matrix2x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8, _3._1 * other._1._9 + _3._2 * other._2._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7, _4._1 * other._1._8 + _4._2 * other._2._8, _4._1 * other._1._9 + _4._2 * other._2._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4, _5._1 * other._1._5 + _5._2 * other._2._5, _5._1 * other._1._6 + _5._2 * other._2._6, _5._1 * other._1._7 + _5._2 * other._2._7, _5._1 * other._1._8 + _5._2 * other._2._8, _5._1 * other._1._9 + _5._2 * other._2._9) | |
) | |
def *(other: Matrix2x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1, _1._1 * other._1._2 + _1._2 * other._2._2, _1._1 * other._1._3 + _1._2 * other._2._3, _1._1 * other._1._4 + _1._2 * other._2._4, _1._1 * other._1._5 + _1._2 * other._2._5, _1._1 * other._1._6 + _1._2 * other._2._6, _1._1 * other._1._7 + _1._2 * other._2._7, _1._1 * other._1._8 + _1._2 * other._2._8, _1._1 * other._1._9 + _1._2 * other._2._9, _1._1 * other._1._10 + _1._2 * other._2._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1, _2._1 * other._1._2 + _2._2 * other._2._2, _2._1 * other._1._3 + _2._2 * other._2._3, _2._1 * other._1._4 + _2._2 * other._2._4, _2._1 * other._1._5 + _2._2 * other._2._5, _2._1 * other._1._6 + _2._2 * other._2._6, _2._1 * other._1._7 + _2._2 * other._2._7, _2._1 * other._1._8 + _2._2 * other._2._8, _2._1 * other._1._9 + _2._2 * other._2._9, _2._1 * other._1._10 + _2._2 * other._2._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1, _3._1 * other._1._2 + _3._2 * other._2._2, _3._1 * other._1._3 + _3._2 * other._2._3, _3._1 * other._1._4 + _3._2 * other._2._4, _3._1 * other._1._5 + _3._2 * other._2._5, _3._1 * other._1._6 + _3._2 * other._2._6, _3._1 * other._1._7 + _3._2 * other._2._7, _3._1 * other._1._8 + _3._2 * other._2._8, _3._1 * other._1._9 + _3._2 * other._2._9, _3._1 * other._1._10 + _3._2 * other._2._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1, _4._1 * other._1._2 + _4._2 * other._2._2, _4._1 * other._1._3 + _4._2 * other._2._3, _4._1 * other._1._4 + _4._2 * other._2._4, _4._1 * other._1._5 + _4._2 * other._2._5, _4._1 * other._1._6 + _4._2 * other._2._6, _4._1 * other._1._7 + _4._2 * other._2._7, _4._1 * other._1._8 + _4._2 * other._2._8, _4._1 * other._1._9 + _4._2 * other._2._9, _4._1 * other._1._10 + _4._2 * other._2._10), | |
Tuple10(_5._1 * other._1._1 + _5._2 * other._2._1, _5._1 * other._1._2 + _5._2 * other._2._2, _5._1 * other._1._3 + _5._2 * other._2._3, _5._1 * other._1._4 + _5._2 * other._2._4, _5._1 * other._1._5 + _5._2 * other._2._5, _5._1 * other._1._6 + _5._2 * other._2._6, _5._1 * other._1._7 + _5._2 * other._2._7, _5._1 * other._1._8 + _5._2 * other._2._8, _5._1 * other._1._9 + _5._2 * other._2._9, _5._1 * other._1._10 + _5._2 * other._2._10) | |
) | |
} | |
case class Matrix5x3( | |
_1: Tuple3[Double, Double, Double], | |
_2: Tuple3[Double, Double, Double], | |
_3: Tuple3[Double, Double, Double], | |
_4: Tuple3[Double, Double, Double], | |
_5: Tuple3[Double, Double, Double] | |
) extends Matrix with Rows5 with Columns3 { | |
def *(other: Matrix3x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1) | |
) | |
def *(other: Matrix3x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2) | |
) | |
def *(other: Matrix3x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3) | |
) | |
def *(other: Matrix3x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4) | |
) | |
def *(other: Matrix3x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5) | |
) | |
def *(other: Matrix3x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6) | |
) | |
def *(other: Matrix3x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7) | |
) | |
def *(other: Matrix3x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8) | |
) | |
def *(other: Matrix3x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9) | |
) | |
def *(other: Matrix3x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10), | |
Tuple10(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9, _5._1 * other._1._10 + _5._2 * other._2._10 + _5._3 * other._3._10) | |
) | |
} | |
case class Matrix5x4( | |
_1: Tuple4[Double, Double, Double, Double], | |
_2: Tuple4[Double, Double, Double, Double], | |
_3: Tuple4[Double, Double, Double, Double], | |
_4: Tuple4[Double, Double, Double, Double], | |
_5: Tuple4[Double, Double, Double, Double] | |
) extends Matrix with Rows5 with Columns4 { | |
def *(other: Matrix4x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1) | |
) | |
def *(other: Matrix4x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2) | |
) | |
def *(other: Matrix4x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3) | |
) | |
def *(other: Matrix4x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4) | |
) | |
def *(other: Matrix4x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5) | |
) | |
def *(other: Matrix4x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6) | |
) | |
def *(other: Matrix4x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7) | |
) | |
def *(other: Matrix4x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8) | |
) | |
def *(other: Matrix4x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9) | |
) | |
def *(other: Matrix4x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10), | |
Tuple10(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9, _5._1 * other._1._10 + _5._2 * other._2._10 + _5._3 * other._3._10 + _5._4 * other._4._10) | |
) | |
} | |
case class Matrix5x5( | |
_1: Tuple5[Double, Double, Double, Double, Double], | |
_2: Tuple5[Double, Double, Double, Double, Double], | |
_3: Tuple5[Double, Double, Double, Double, Double], | |
_4: Tuple5[Double, Double, Double, Double, Double], | |
_5: Tuple5[Double, Double, Double, Double, Double] | |
) extends Matrix with Rows5 with Columns5 with SquareMatrix[Matrix5x5] { | |
def *(other: Matrix5x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1) | |
) | |
def *(other: Matrix5x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2) | |
) | |
def *(other: Matrix5x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3) | |
) | |
def *(other: Matrix5x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4) | |
) | |
def *(other: Matrix5x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5) | |
) | |
def *(other: Matrix5x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6) | |
) | |
def *(other: Matrix5x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7) | |
) | |
def *(other: Matrix5x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8) | |
) | |
def *(other: Matrix5x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other._5._9) | |
) | |
def *(other: Matrix5x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10), | |
Tuple10(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other._5._9, _5._1 * other._1._10 + _5._2 * other._2._10 + _5._3 * other._3._10 + _5._4 * other._4._10 + _5._5 * other._5._10) | |
) | |
def inverse(): Option[Matrix5x5] = None | |
} | |
case class Matrix5x6( | |
_1: Tuple6[Double, Double, Double, Double, Double, Double], | |
_2: Tuple6[Double, Double, Double, Double, Double, Double], | |
_3: Tuple6[Double, Double, Double, Double, Double, Double], | |
_4: Tuple6[Double, Double, Double, Double, Double, Double], | |
_5: Tuple6[Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows5 with Columns6 { | |
def *(other: Matrix6x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1) | |
) | |
def *(other: Matrix6x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2) | |
) | |
def *(other: Matrix6x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3) | |
) | |
def *(other: Matrix6x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4) | |
) | |
def *(other: Matrix6x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5) | |
) | |
def *(other: Matrix6x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6) | |
) | |
def *(other: Matrix6x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7) | |
) | |
def *(other: Matrix6x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8) | |
) | |
def *(other: Matrix6x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other._5._9 + _5._6 * other._6._9) | |
) | |
def *(other: Matrix6x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10), | |
Tuple10(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other._5._9 + _5._6 * other._6._9, _5._1 * other._1._10 + _5._2 * other._2._10 + _5._3 * other._3._10 + _5._4 * other._4._10 + _5._5 * other._5._10 + _5._6 * other._6._10) | |
) | |
} | |
case class Matrix5x7( | |
_1: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_4: Tuple7[Double, Double, Double, Double, Double, Double, Double], | |
_5: Tuple7[Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows5 with Columns7 { | |
def *(other: Matrix7x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1) | |
) | |
def *(other: Matrix7x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2) | |
) | |
def *(other: Matrix7x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3) | |
) | |
def *(other: Matrix7x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4) | |
) | |
def *(other: Matrix7x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5) | |
) | |
def *(other: Matrix7x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6) | |
) | |
def *(other: Matrix7x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7) | |
) | |
def *(other: Matrix7x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8 + _5._7 * other._7._8) | |
) | |
def *(other: Matrix7x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8 + _5._7 * other._7._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other._5._9 + _5._6 * other._6._9 + _5._7 * other._7._9) | |
) | |
def *(other: Matrix7x10) = Matrix5x10( | |
Tuple10(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9, _1._1 * other._1._10 + _1._2 * other._2._10 + _1._3 * other._3._10 + _1._4 * other._4._10 + _1._5 * other._5._10 + _1._6 * other._6._10 + _1._7 * other._7._10), | |
Tuple10(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9, _2._1 * other._1._10 + _2._2 * other._2._10 + _2._3 * other._3._10 + _2._4 * other._4._10 + _2._5 * other._5._10 + _2._6 * other._6._10 + _2._7 * other._7._10), | |
Tuple10(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9, _3._1 * other._1._10 + _3._2 * other._2._10 + _3._3 * other._3._10 + _3._4 * other._4._10 + _3._5 * other._5._10 + _3._6 * other._6._10 + _3._7 * other._7._10), | |
Tuple10(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9, _4._1 * other._1._10 + _4._2 * other._2._10 + _4._3 * other._3._10 + _4._4 * other._4._10 + _4._5 * other._5._10 + _4._6 * other._6._10 + _4._7 * other._7._10), | |
Tuple10(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8 + _5._7 * other._7._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other._5._9 + _5._6 * other._6._9 + _5._7 * other._7._9, _5._1 * other._1._10 + _5._2 * other._2._10 + _5._3 * other._3._10 + _5._4 * other._4._10 + _5._5 * other._5._10 + _5._6 * other._6._10 + _5._7 * other._7._10) | |
) | |
} | |
case class Matrix5x8( | |
_1: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_2: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_3: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_4: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double], | |
_5: Tuple8[Double, Double, Double, Double, Double, Double, Double, Double] | |
) extends Matrix with Rows5 with Columns8 { | |
def *(other: Matrix8x1) = Matrix5x1( | |
Tuple1(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1), | |
Tuple1(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1), | |
Tuple1(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1), | |
Tuple1(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1), | |
Tuple1(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1) | |
) | |
def *(other: Matrix8x2) = Matrix5x2( | |
Tuple2(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2), | |
Tuple2(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2), | |
Tuple2(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2), | |
Tuple2(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2), | |
Tuple2(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2) | |
) | |
def *(other: Matrix8x3) = Matrix5x3( | |
Tuple3(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3), | |
Tuple3(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3), | |
Tuple3(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3), | |
Tuple3(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3), | |
Tuple3(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3) | |
) | |
def *(other: Matrix8x4) = Matrix5x4( | |
Tuple4(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4), | |
Tuple4(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4), | |
Tuple4(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4), | |
Tuple4(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4), | |
Tuple4(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4 + _5._8 * other._8._4) | |
) | |
def *(other: Matrix8x5) = Matrix5x5( | |
Tuple5(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5), | |
Tuple5(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5), | |
Tuple5(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5), | |
Tuple5(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5), | |
Tuple5(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4 + _5._8 * other._8._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5 + _5._8 * other._8._5) | |
) | |
def *(other: Matrix8x6) = Matrix5x6( | |
Tuple6(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6), | |
Tuple6(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6), | |
Tuple6(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6), | |
Tuple6(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6), | |
Tuple6(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4 + _5._8 * other._8._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5 + _5._8 * other._8._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6 + _5._8 * other._8._6) | |
) | |
def *(other: Matrix8x7) = Matrix5x7( | |
Tuple7(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7), | |
Tuple7(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7), | |
Tuple7(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7), | |
Tuple7(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7), | |
Tuple7(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4 + _5._8 * other._8._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5 + _5._8 * other._8._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6 + _5._8 * other._8._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7 + _5._8 * other._8._7) | |
) | |
def *(other: Matrix8x8) = Matrix5x8( | |
Tuple8(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8), | |
Tuple8(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8), | |
Tuple8(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8), | |
Tuple8(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8), | |
Tuple8(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4 + _5._8 * other._8._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5 + _5._8 * other._8._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6 + _5._8 * other._8._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7 + _5._8 * other._8._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8 + _5._7 * other._7._8 + _5._8 * other._8._8) | |
) | |
def *(other: Matrix8x9) = Matrix5x9( | |
Tuple9(_1._1 * other._1._1 + _1._2 * other._2._1 + _1._3 * other._3._1 + _1._4 * other._4._1 + _1._5 * other._5._1 + _1._6 * other._6._1 + _1._7 * other._7._1 + _1._8 * other._8._1, _1._1 * other._1._2 + _1._2 * other._2._2 + _1._3 * other._3._2 + _1._4 * other._4._2 + _1._5 * other._5._2 + _1._6 * other._6._2 + _1._7 * other._7._2 + _1._8 * other._8._2, _1._1 * other._1._3 + _1._2 * other._2._3 + _1._3 * other._3._3 + _1._4 * other._4._3 + _1._5 * other._5._3 + _1._6 * other._6._3 + _1._7 * other._7._3 + _1._8 * other._8._3, _1._1 * other._1._4 + _1._2 * other._2._4 + _1._3 * other._3._4 + _1._4 * other._4._4 + _1._5 * other._5._4 + _1._6 * other._6._4 + _1._7 * other._7._4 + _1._8 * other._8._4, _1._1 * other._1._5 + _1._2 * other._2._5 + _1._3 * other._3._5 + _1._4 * other._4._5 + _1._5 * other._5._5 + _1._6 * other._6._5 + _1._7 * other._7._5 + _1._8 * other._8._5, _1._1 * other._1._6 + _1._2 * other._2._6 + _1._3 * other._3._6 + _1._4 * other._4._6 + _1._5 * other._5._6 + _1._6 * other._6._6 + _1._7 * other._7._6 + _1._8 * other._8._6, _1._1 * other._1._7 + _1._2 * other._2._7 + _1._3 * other._3._7 + _1._4 * other._4._7 + _1._5 * other._5._7 + _1._6 * other._6._7 + _1._7 * other._7._7 + _1._8 * other._8._7, _1._1 * other._1._8 + _1._2 * other._2._8 + _1._3 * other._3._8 + _1._4 * other._4._8 + _1._5 * other._5._8 + _1._6 * other._6._8 + _1._7 * other._7._8 + _1._8 * other._8._8, _1._1 * other._1._9 + _1._2 * other._2._9 + _1._3 * other._3._9 + _1._4 * other._4._9 + _1._5 * other._5._9 + _1._6 * other._6._9 + _1._7 * other._7._9 + _1._8 * other._8._9), | |
Tuple9(_2._1 * other._1._1 + _2._2 * other._2._1 + _2._3 * other._3._1 + _2._4 * other._4._1 + _2._5 * other._5._1 + _2._6 * other._6._1 + _2._7 * other._7._1 + _2._8 * other._8._1, _2._1 * other._1._2 + _2._2 * other._2._2 + _2._3 * other._3._2 + _2._4 * other._4._2 + _2._5 * other._5._2 + _2._6 * other._6._2 + _2._7 * other._7._2 + _2._8 * other._8._2, _2._1 * other._1._3 + _2._2 * other._2._3 + _2._3 * other._3._3 + _2._4 * other._4._3 + _2._5 * other._5._3 + _2._6 * other._6._3 + _2._7 * other._7._3 + _2._8 * other._8._3, _2._1 * other._1._4 + _2._2 * other._2._4 + _2._3 * other._3._4 + _2._4 * other._4._4 + _2._5 * other._5._4 + _2._6 * other._6._4 + _2._7 * other._7._4 + _2._8 * other._8._4, _2._1 * other._1._5 + _2._2 * other._2._5 + _2._3 * other._3._5 + _2._4 * other._4._5 + _2._5 * other._5._5 + _2._6 * other._6._5 + _2._7 * other._7._5 + _2._8 * other._8._5, _2._1 * other._1._6 + _2._2 * other._2._6 + _2._3 * other._3._6 + _2._4 * other._4._6 + _2._5 * other._5._6 + _2._6 * other._6._6 + _2._7 * other._7._6 + _2._8 * other._8._6, _2._1 * other._1._7 + _2._2 * other._2._7 + _2._3 * other._3._7 + _2._4 * other._4._7 + _2._5 * other._5._7 + _2._6 * other._6._7 + _2._7 * other._7._7 + _2._8 * other._8._7, _2._1 * other._1._8 + _2._2 * other._2._8 + _2._3 * other._3._8 + _2._4 * other._4._8 + _2._5 * other._5._8 + _2._6 * other._6._8 + _2._7 * other._7._8 + _2._8 * other._8._8, _2._1 * other._1._9 + _2._2 * other._2._9 + _2._3 * other._3._9 + _2._4 * other._4._9 + _2._5 * other._5._9 + _2._6 * other._6._9 + _2._7 * other._7._9 + _2._8 * other._8._9), | |
Tuple9(_3._1 * other._1._1 + _3._2 * other._2._1 + _3._3 * other._3._1 + _3._4 * other._4._1 + _3._5 * other._5._1 + _3._6 * other._6._1 + _3._7 * other._7._1 + _3._8 * other._8._1, _3._1 * other._1._2 + _3._2 * other._2._2 + _3._3 * other._3._2 + _3._4 * other._4._2 + _3._5 * other._5._2 + _3._6 * other._6._2 + _3._7 * other._7._2 + _3._8 * other._8._2, _3._1 * other._1._3 + _3._2 * other._2._3 + _3._3 * other._3._3 + _3._4 * other._4._3 + _3._5 * other._5._3 + _3._6 * other._6._3 + _3._7 * other._7._3 + _3._8 * other._8._3, _3._1 * other._1._4 + _3._2 * other._2._4 + _3._3 * other._3._4 + _3._4 * other._4._4 + _3._5 * other._5._4 + _3._6 * other._6._4 + _3._7 * other._7._4 + _3._8 * other._8._4, _3._1 * other._1._5 + _3._2 * other._2._5 + _3._3 * other._3._5 + _3._4 * other._4._5 + _3._5 * other._5._5 + _3._6 * other._6._5 + _3._7 * other._7._5 + _3._8 * other._8._5, _3._1 * other._1._6 + _3._2 * other._2._6 + _3._3 * other._3._6 + _3._4 * other._4._6 + _3._5 * other._5._6 + _3._6 * other._6._6 + _3._7 * other._7._6 + _3._8 * other._8._6, _3._1 * other._1._7 + _3._2 * other._2._7 + _3._3 * other._3._7 + _3._4 * other._4._7 + _3._5 * other._5._7 + _3._6 * other._6._7 + _3._7 * other._7._7 + _3._8 * other._8._7, _3._1 * other._1._8 + _3._2 * other._2._8 + _3._3 * other._3._8 + _3._4 * other._4._8 + _3._5 * other._5._8 + _3._6 * other._6._8 + _3._7 * other._7._8 + _3._8 * other._8._8, _3._1 * other._1._9 + _3._2 * other._2._9 + _3._3 * other._3._9 + _3._4 * other._4._9 + _3._5 * other._5._9 + _3._6 * other._6._9 + _3._7 * other._7._9 + _3._8 * other._8._9), | |
Tuple9(_4._1 * other._1._1 + _4._2 * other._2._1 + _4._3 * other._3._1 + _4._4 * other._4._1 + _4._5 * other._5._1 + _4._6 * other._6._1 + _4._7 * other._7._1 + _4._8 * other._8._1, _4._1 * other._1._2 + _4._2 * other._2._2 + _4._3 * other._3._2 + _4._4 * other._4._2 + _4._5 * other._5._2 + _4._6 * other._6._2 + _4._7 * other._7._2 + _4._8 * other._8._2, _4._1 * other._1._3 + _4._2 * other._2._3 + _4._3 * other._3._3 + _4._4 * other._4._3 + _4._5 * other._5._3 + _4._6 * other._6._3 + _4._7 * other._7._3 + _4._8 * other._8._3, _4._1 * other._1._4 + _4._2 * other._2._4 + _4._3 * other._3._4 + _4._4 * other._4._4 + _4._5 * other._5._4 + _4._6 * other._6._4 + _4._7 * other._7._4 + _4._8 * other._8._4, _4._1 * other._1._5 + _4._2 * other._2._5 + _4._3 * other._3._5 + _4._4 * other._4._5 + _4._5 * other._5._5 + _4._6 * other._6._5 + _4._7 * other._7._5 + _4._8 * other._8._5, _4._1 * other._1._6 + _4._2 * other._2._6 + _4._3 * other._3._6 + _4._4 * other._4._6 + _4._5 * other._5._6 + _4._6 * other._6._6 + _4._7 * other._7._6 + _4._8 * other._8._6, _4._1 * other._1._7 + _4._2 * other._2._7 + _4._3 * other._3._7 + _4._4 * other._4._7 + _4._5 * other._5._7 + _4._6 * other._6._7 + _4._7 * other._7._7 + _4._8 * other._8._7, _4._1 * other._1._8 + _4._2 * other._2._8 + _4._3 * other._3._8 + _4._4 * other._4._8 + _4._5 * other._5._8 + _4._6 * other._6._8 + _4._7 * other._7._8 + _4._8 * other._8._8, _4._1 * other._1._9 + _4._2 * other._2._9 + _4._3 * other._3._9 + _4._4 * other._4._9 + _4._5 * other._5._9 + _4._6 * other._6._9 + _4._7 * other._7._9 + _4._8 * other._8._9), | |
Tuple9(_5._1 * other._1._1 + _5._2 * other._2._1 + _5._3 * other._3._1 + _5._4 * other._4._1 + _5._5 * other._5._1 + _5._6 * other._6._1 + _5._7 * other._7._1 + _5._8 * other._8._1, _5._1 * other._1._2 + _5._2 * other._2._2 + _5._3 * other._3._2 + _5._4 * other._4._2 + _5._5 * other._5._2 + _5._6 * other._6._2 + _5._7 * other._7._2 + _5._8 * other._8._2, _5._1 * other._1._3 + _5._2 * other._2._3 + _5._3 * other._3._3 + _5._4 * other._4._3 + _5._5 * other._5._3 + _5._6 * other._6._3 + _5._7 * other._7._3 + _5._8 * other._8._3, _5._1 * other._1._4 + _5._2 * other._2._4 + _5._3 * other._3._4 + _5._4 * other._4._4 + _5._5 * other._5._4 + _5._6 * other._6._4 + _5._7 * other._7._4 + _5._8 * other._8._4, _5._1 * other._1._5 + _5._2 * other._2._5 + _5._3 * other._3._5 + _5._4 * other._4._5 + _5._5 * other._5._5 + _5._6 * other._6._5 + _5._7 * other._7._5 + _5._8 * other._8._5, _5._1 * other._1._6 + _5._2 * other._2._6 + _5._3 * other._3._6 + _5._4 * other._4._6 + _5._5 * other._5._6 + _5._6 * other._6._6 + _5._7 * other._7._6 + _5._8 * other._8._6, _5._1 * other._1._7 + _5._2 * other._2._7 + _5._3 * other._3._7 + _5._4 * other._4._7 + _5._5 * other._5._7 + _5._6 * other._6._7 + _5._7 * other._7._7 + _5._8 * other._8._7, _5._1 * other._1._8 + _5._2 * other._2._8 + _5._3 * other._3._8 + _5._4 * other._4._8 + _5._5 * other._5._8 + _5._6 * other._6._8 + _5._7 * other._7._8 + _5._8 * other._8._8, _5._1 * other._1._9 + _5._2 * other._2._9 + _5._3 * other._3._9 + _5._4 * other._4._9 + _5._5 * other. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment