package Ġgo lem . matrix . mt j Ċ Ċ import Ġgo lem .* Ċ import Ġgo lem . matrix .* Ċ import Ġgo lem . matrix . common .* Ċ import Ġgo lem . util .* Ċ import Ġno . u ib . cip r . matrix . Dense Matrix Ċ import Ġjava . util .* ĊĊ Ċ class ĠMT J Matrix Factory Ġ: ĠMatrix Factory < Matrix < Double >>, ĠDouble Factory Base () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġzeros ( rows : ĠInt , Ġcols : ĠInt ) Ġ= ĠMT J Matrix ( Dense Matrix ( rows , Ġcols )) ĊĊĠĠĠ Ġoverride Ġfun Ġzeros ( size : ĠInt ) Ġ= Ġzeros ( size , Ġsize ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( data : ĠInt Range ): ĠMT J Matrix Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġdata Array Ġ= Ġfrom Collection ( data . map Ġ{ Ġit . toDouble () Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn ĠMT J Matrix ( Dense Matrix ( 1 , Ġdata Array . size , Ġdata Array , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( data : ĠDouble Array ): ĠMT J Matrix Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMT J Matrix ( Dense Matrix ( 1 , Ġdata . size , Ġdata , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( data : ĠArray < Double Array >): ĠMT J Matrix Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMT J Matrix ( Dense Matrix ( data )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġones ( size : ĠInt ) Ġ= Ġones ( size , Ġsize ) ĊĊĠĠĠ Ġoverride Ġfun Ġones ( rows : ĠInt , Ġcols : ĠInt ): ĠMT J Matrix Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġout Ġ= ĠDense Matrix ( rows , Ġcols ) ĊĠĠĠĠĠĠĠ ĠArrays . fill ( out . data , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMT J Matrix ( out ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġeye ( size : ĠInt ) Ġ= Ġeye ( size , Ġsize ) ĊĊĠĠĠ Ġoverride Ġfun Ġeye ( rows : ĠInt , Ġcols : ĠInt ): ĠMT J Matrix Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġout Ġ= ĠDense Matrix ( rows , Ġcols ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. rows Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout [ i , Ġi ] Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġreturn ĠMT J Matrix ( out ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrand ( size : ĠInt ) Ġ= Ġrand ( size , Ġsize ) ĊĠĠĠ Ġoverride Ġfun Ġrand ( rows : ĠInt , Ġcols : ĠInt ) Ġ= ĠMT J Matrix ( go lem . matrix . mt j . backend . rand ( rows , Ġcols )) ĊĠĠĠ Ġoverride Ġfun Ġrand ( rows : ĠInt , Ġcols : ĠInt , Ġseed : ĠLong ) Ġ= ĠMT J Matrix ( go lem . matrix . mt j . backend . rand ( rows , Ġcols , Ġseed )) ĊĊĠĠĠ Ġoverride Ġfun Ġrand n ( size : ĠInt ) Ġ= Ġrand n ( size , Ġsize ) ĊĠĠĠ Ġoverride Ġfun Ġrand n ( rows : ĠInt , Ġcols : ĠInt ) Ġ= ĠMT J Matrix ( go lem . matrix . mt j . backend . randn ( rows , Ġcols )) ĊĠĠĠ Ġoverride Ġfun Ġrand n ( rows : ĠInt , Ġcols : ĠInt , Ġseed : ĠLong ) Ġ= ĠMT J Matrix ( go lem . matrix . mt j . backend . randn ( rows , Ġcols , Ġseed )) Ċ Ċ }