Skip to content

Instantly share code, notes, and snippets.

@takkkun
Created February 5, 2013 19:57
Show Gist options
  • Save takkkun/4717124 to your computer and use it in GitHub Desktop.
Save takkkun/4717124 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
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